@import url("https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500&family=Fredoka:wght@400;500&family=Nunito:wght@300;400;500&display=swap");

:root{
  --royal:#244F78;
  --royal-dark:#193C5D;
  --turquoise:#4F86A8;
  --turquoise-dark:#356B8C;
  --gold:#D8A83A;
  --storybook:#234E70;
  --muted:#58738A;
  --sky:#EDF7FC;
  --cream:#FFF9EE;
  --white:#FFFFFF;
  --shadow:0 20px 55px rgba(47,93,159,.16);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--storybook);font-family:"Nunito","Avenir Next","Trebuchet MS",system-ui,sans-serif;line-height:1.7;font-weight:300}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.narrow{max-width:780px}
.centered{text-align:center}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 14px;z-index:100;color:var(--storybook)}
.skip-link:focus{left:8px}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,249,238,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(47,93,159,.1)}
.nav-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-family:"Fredoka","Trebuchet MS",sans-serif;font-size:1.35rem;font-weight:400;color:var(--royal-dark);letter-spacing:.01em}
.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--royal),var(--turquoise));color:white;font-size:1.55rem;box-shadow:0 7px 18px rgba(74,103,214,.22)}
.main-nav{display:flex;align-items:center;gap:24px}
.main-nav a{text-decoration:none;font-family:"Fredoka","Trebuchet MS",sans-serif;font-weight:300;color:var(--storybook);transition:transform .2s ease,color .2s ease}
.main-nav a:hover,.main-nav a:focus{color:var(--turquoise-dark);transform:translateY(-2px)}
.menu-button{display:none;border:0;background:transparent;color:var(--royal-dark);font-size:1.8rem}
.hero{overflow:hidden;padding:82px 0 96px;background:radial-gradient(circle at 82% 18%,rgba(77,168,218,.18),transparent 35%),linear-gradient(135deg,#F2F7FF,#FFF9EE)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:56px}
.eyebrow{display:inline-block;margin:0 0 16px;padding:7px 14px;border-radius:999px;background:rgba(244,185,66,.2);color:#916A08;font-family:"Fredoka","Trebuchet MS",sans-serif;font-size:.84rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 6px 18px rgba(244,185,66,.13)}
h1,h2,h3{margin-top:0;font-family:"Baloo 2","Fredoka","Trebuchet MS",sans-serif;font-weight:400;line-height:1.05;text-wrap:balance}
h1{font-family:"Fredoka","Trebuchet MS",sans-serif;font-weight:400;color:var(--royal);margin-bottom:26px;font-size:clamp(2.75rem,5.9vw,5rem);letter-spacing:-.035em;text-shadow:0 3px 0 rgba(255,255,255,.9)}
h2{color:var(--royal-dark);margin-bottom:22px;font-size:clamp(2.35rem,4.2vw,3.8rem);letter-spacing:-.02em;text-shadow:0 2px 0 rgba(255,255,255,.9)}
h3{color:var(--turquoise-dark);margin-bottom:11px;font-size:1.7rem;font-weight:400;letter-spacing:.005em}
p{color:var(--storybook);font-weight:300;line-height:1.78}
.lead,.section-lead{max-width:700px;color:var(--storybook);font-size:1.2rem;font-weight:300}
.section-lead{margin:0 auto}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.button{display:inline-flex;min-height:51px;align-items:center;justify-content:center;padding:13px 23px;border:2px solid var(--royal);border-radius:999px;text-decoration:none;font-family:"Fredoka","Trebuchet MS",sans-serif;font-weight:400;cursor:pointer;box-shadow:0 8px 0 rgba(47,93,159,.13);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 0 rgba(47,93,159,.15)}
.button.primary{background:var(--royal);color:white}
.button.primary:hover{background:var(--turquoise);border-color:var(--turquoise)}
.button.secondary{background:rgba(255,255,255,.94);color:var(--royal);border-color:var(--royal)}
.button.secondary:hover{color:var(--turquoise-dark);border-color:var(--turquoise)}
.hero-values{display:flex;flex-wrap:wrap;gap:9px;margin-top:29px}
.hero-values span{padding:7px 12px;border-radius:999px;background:white;color:var(--storybook);box-shadow:0 6px 18px rgba(47,93,159,.09);font-family:"Fredoka","Trebuchet MS",sans-serif;font-size:.86rem;font-weight:300;border-bottom:3px solid var(--gold)}
.hero-art{margin:0;overflow:hidden;border:12px solid white;border-radius:34px;box-shadow:var(--shadow);transform:rotate(1.5deg)}
.hero-art img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.section{padding:104px 0}
.story-section{background:white}
.story-intro{margin-bottom:52px}
.story-highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.story-highlight-card{overflow:hidden;border-radius:var(--radius);background:var(--sky);box-shadow:var(--shadow);border:1px solid rgba(77,168,218,.17)}
.story-highlight-card img{width:100%;aspect-ratio:16/11;object-fit:cover;object-position:center top}
.story-highlight-card>div{padding:30px}
.story-highlight-card p{margin-bottom:0}
.friendship-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:linear-gradient(135deg,#F5FAFF,#FFF8E6)}
.friendship-card img{height:100%;aspect-ratio:auto;min-height:430px}
.highlight-tag,.character-label{display:inline-block;margin-bottom:14px;padding:6px 12px;border-radius:999px;background:var(--gold);color:#6C4B00;font-family:"Fredoka","Trebuchet MS",sans-serif;font-weight:400}
.characters-section{background:#EEF6FC}
.character-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:48px}
.character-card{overflow:hidden;border-radius:var(--radius);background:white;box-shadow:var(--shadow)}
.character-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.character-copy{padding:30px}
.preview-section{background:white}
.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px}
.preview-card{overflow:hidden;padding:0;border:0;border-radius:22px;background:white;box-shadow:var(--shadow);cursor:zoom-in;text-align:left}
.preview-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;transition:transform .25s ease}
.preview-card:hover img{transform:scale(1.025)}
.preview-card span{display:block;padding:17px 18px;color:var(--royal);font-family:"Fredoka","Trebuchet MS",sans-serif;font-size:1.1rem;font-weight:300;text-align:center}
.contact-section{background:#EDF7FC}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.contact-card{padding:34px;border-radius:var(--radius);background:white;box-shadow:var(--shadow)}
.small-note{margin-bottom:0;color:var(--muted);font-size:.84rem}
.site-footer{padding:28px 0;background:#234E86;color:white}
.site-footer p{color:white}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-brand{color:white}
.footer-row p{margin:0}
code{color:var(--royal-dark)}
.lightbox{width:min(900px,calc(100% - 28px));max-height:94vh;padding:15px;border:0;border-radius:20px;background:white;box-shadow:var(--shadow)}
.lightbox::backdrop{background:rgba(25,55,94,.88)}
.lightbox img{max-height:calc(94vh - 30px);margin:auto}
.lightbox-close{position:absolute;top:8px;right:10px;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;background:#234E86;color:white;font-size:1.8rem;cursor:pointer}
@media(max-width:880px){
 .hero-grid,.contact-grid{grid-template-columns:1fr}
 .story-highlight-grid{grid-template-columns:1fr}
 .friendship-card{grid-column:auto;grid-template-columns:1fr}
 .friendship-card img{min-height:0;aspect-ratio:16/11}
 .character-grid{grid-template-columns:1fr}
 .preview-grid{grid-template-columns:repeat(2,1fr)}
 .main-nav{display:none;position:absolute;top:68px;left:20px;right:20px;flex-direction:column;align-items:stretch;padding:20px;border-radius:20px;background:white;box-shadow:var(--shadow)}
 .main-nav.open{display:flex}
 .menu-button{display:block}
 .hero-art{max-width:580px;margin-inline:auto}
}
@media(max-width:560px){
 .container{width:min(100% - 28px,1160px)}
 .section{padding:76px 0}
 .actions .button{width:100%}
 .preview-grid{grid-template-columns:1fr}
 .footer-row{flex-direction:column;text-align:center}
}

/* Refined type hierarchy: lighter body copy and restrained emphasis */
.story-highlight-card p,.character-copy p,.contact-section p,.preview-section p{font-weight:300}
.story-highlight-card h3,.character-copy h3,.contact-card h3{font-weight:400}
.character-label,.highlight-tag{font-weight:400}
strong,b{font-weight:400}


/* Final refinement: lighter typography with a calm, very deep blue palette */
body, p, .lead, .section-lead { color: var(--storybook); font-weight: 300; }
.brand, h1, h2, h3, .button, .highlight-tag, .character-label { font-synthesis: none; }
.brand { font-weight: 400; }
.main-nav a { font-weight: 300; }
h1 { font-weight: 400; color: var(--royal-dark); }
h2 { font-weight: 400; color: var(--royal); }
h3 { font-weight: 400; color: var(--turquoise-dark); }
.button { font-weight: 400; }
.highlight-tag, .character-label { font-weight: 400; }
.preview-card span { font-weight: 300; color: var(--royal-dark); }
strong, b { font-weight: 400; }
