:root{--ink:#102b46;--blue:#dceefa;--blue-2:#9fcee9;--gold:#e7b84f;--gold-pale:#fff3cc;--cream:#fffdf8;--white:#fff;--line:rgba(16,43,70,.14);--shadow:0 20px 60px rgba(16,43,70,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit}.site-header{height:88px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;line-height:1}.brand-mark{display:grid;place-items:center;width:44px;height:44px;background:var(--ink);color:var(--gold);border-radius:50% 50% 46% 54% / 52% 48% 58% 42%;font-family:"Playfair Display",serif;font-size:24px}.brand strong,.brand small{display:block}.brand strong{font-family:"Playfair Display",serif;font-size:20px}.brand small{text-transform:uppercase;letter-spacing:.22em;font-size:10px;margin-top:5px}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-weight:600;font-size:14px}.nav-cta{border:1px solid var(--ink);padding:10px 18px;border-radius:999px}.menu-toggle{display:none;background:none;border:1px solid var(--ink);border-radius:999px;padding:9px 15px;color:var(--ink)}
.hero{min-height:690px;background:var(--blue);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:70px;align-items:center;padding:70px max(7vw,28px);overflow:hidden}.hero-copy{max-width:710px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700;margin:0 0 18px;color:#376784}.hero h1,.section h2,.contact h2{font-family:"Playfair Display",serif;line-height:1.05;letter-spacing:-.025em}.hero h1{font-size:clamp(3.3rem,6.3vw,6.3rem);margin:0 0 28px}.hero h1 em{color:#356f94;font-weight:600}.hero-lede{font-size:20px;max-width:650px}.hero-actions{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;text-decoration:none;font-weight:700}.button.primary{background:var(--ink);color:white}.button.secondary{border:1px solid var(--ink)}.hero-art{height:490px;background:linear-gradient(155deg,#fff7d9,#f3cf68);border-radius:260px 260px 30px 30px;position:relative;box-shadow:var(--shadow)}.sun{position:absolute;width:115px;height:115px;border-radius:50%;background:#fff7d4;right:55px;top:46px}.tree-crown{position:absolute;width:250px;height:230px;border-radius:50%;background:#6199a3;left:50%;top:60px;transform:translateX(-50%)}.tree-crown:after,.tree-crown:before,.tree-crown i{content:"";position:absolute;width:18px;height:18px;background:#f4c74d;border-radius:50%}.tree-crown:before{left:55px;top:55px}.tree-crown:after{right:58px;top:94px}.tree-crown i:nth-child(1){left:112px;top:35px}.tree-crown i:nth-child(2){left:82px;bottom:52px}.tree-crown i:nth-child(3){right:68px;bottom:35px}.trunk{position:absolute;width:38px;height:145px;background:#9c7041;left:50%;top:250px;transform:translateX(-50%);border-radius:10px}.book{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);width:260px;height:80px;background:white;clip-path:polygon(0 0,50% 25%,100% 0,94% 100%,50% 78%,6% 100%);filter:drop-shadow(0 12px 10px rgba(16,43,70,.2))}.book span{position:absolute;left:50%;height:70%;top:20%;border-left:2px solid #aac8d8}.hero-art p{position:absolute;bottom:17px;left:0;width:100%;text-align:center;font-family:"Playfair Display",serif;font-size:14px}
.promise{display:flex;justify-content:center;gap:28px;align-items:center;background:var(--ink);color:white;min-height:86px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700}.promise span{width:5px;height:5px;background:var(--gold);border-radius:50%}.section{padding:110px max(7vw,28px)}.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;max-width:1180px;margin:0 auto 52px}.section h2{font-size:clamp(2.5rem,4.5vw,4.5rem);margin:0}.section-heading>p{font-size:18px;margin:0 0 8px}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:auto}.book-card{min-height:400px;padding:32px;display:flex;flex-direction:column;border-radius:4px;position:relative;overflow:hidden}.book-card.blue{background:#cbe7f7}.book-card.gold{background:var(--gold-pale)}.book-card.navy{background:var(--ink);color:white}.card-number{font-size:12px;letter-spacing:.18em}.card-icon{font-size:60px;margin:45px 0 30px;color:#467f9f}.gold .card-icon{color:#c88b17}.navy .card-icon{color:var(--gold)}.book-card h3{font-family:"Playfair Display",serif;font-size:27px;line-height:1.15;margin:0 0 14px}.book-card p{margin:0}.book-card a{font-weight:700;text-decoration:none;margin-top:auto;padding-top:30px}.book-card a span{margin-left:6px}.readers{background:#eef6f8;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.readers-intro{position:sticky;top:30px;align-self:start}.reader-list article{padding:0 0 36px;margin-bottom:36px;border-bottom:1px solid var(--line)}.reader-list article:last-child{border:0}.reader-list span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#46728e;font-weight:700}.reader-list h3{font-family:"Playfair Display",serif;font-size:28px;margin:8px 0}.reader-list p{margin:0;max-width:560px}.about{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center;max-width:1180px;margin:auto}.about-monogram{aspect-ratio:1;background:var(--gold-pale);border-radius:50%;display:grid;place-items:center;position:relative}.about-monogram:before{content:"";position:absolute;inset:28px;border:1px solid var(--gold);border-radius:50%}.about-monogram span{font:700 clamp(4rem,8vw,7rem)/1 "Playfair Display",serif;color:#b87f16}.about-copy p{font-size:18px}.about-copy blockquote{margin:30px 0 0;padding-left:24px;border-left:4px solid var(--gold);font-family:"Playfair Display",serif;font-size:24px}.contact{padding:80px max(7vw,28px);background:#2f6f93;color:white;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact .eyebrow{color:#d6efff}.contact h2{font-size:clamp(2.4rem,4vw,4rem);margin:0 0 15px}.contact p{margin:0;max-width:650px}.button.light{background:white;color:var(--ink);white-space:nowrap}footer{max-width:1180px;margin:auto;padding:48px 28px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:25px}footer>p:nth-child(2){text-align:center}footer>p:last-child{text-align:right;font-size:13px}.footer-brand .brand-mark{width:38px;height:38px;font-size:20px}
.book-shelf{max-width:1180px;margin:0 auto 70px}.book-shelf:last-child{margin-bottom:0}.book-shelf>h3{font-family:"Playfair Display",serif;font-size:clamp(2rem,3.3vw,3rem);margin:0 0 28px;padding-bottom:14px;border-bottom:2px solid var(--gold)}.email-button{margin-top:18px}.reply-note{margin-top:12px!important;font-size:14px}.footer-center{text-align:center}.footer-center>p{margin:0 0 10px}.footer-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.footer-links a{font-size:13px;text-decoration:underline;text-underline-offset:3px}.copyright{text-align:right;font-size:13px}
@media(max-width:850px){.site-header{height:auto;min-height:78px;flex-wrap:wrap}.menu-toggle{display:block}nav{display:none;width:100%;padding:20px 0;flex-direction:column;align-items:flex-start}nav.open{display:flex}.footer-links{display:flex;width:auto;padding:0;flex-direction:row;align-items:center}.hero{grid-template-columns:1fr;padding-top:60px}.hero-art{height:420px;max-width:520px;width:100%;margin:auto}.section-heading,.readers,.about{grid-template-columns:1fr}.readers-intro{position:static}.book-grid{grid-template-columns:1fr}.book-card{min-height:340px}.contact{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr}.footer-center,.copyright{text-align:left}.footer-links{justify-content:flex-start}}
@media(max-width:520px){.hero{padding-left:22px;padding-right:22px;gap:45px}.hero h1{font-size:3.1rem}.hero-art{height:350px}.tree-crown{width:200px;height:190px}.trunk{top:220px}.book{width:210px}.promise{flex-direction:column;gap:8px;padding:22px}.promise span{display:none}.section{padding:78px 22px}.about{gap:45px}.about-monogram{max-width:330px}.site-header{padding:0 20px}.contact{padding:65px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Contact form */
.contact-copy{max-width:650px}
.contact-email{display:inline-block;margin-top:20px;color:white;font-weight:700;text-underline-offset:4px}
.contact-form{width:min(100%,520px);display:grid;grid-template-columns:1fr 1fr;gap:16px;background:rgba(255,255,255,.1);padding:28px;border:1px solid rgba(255,255,255,.28);border-radius:8px}
.form-row{display:flex;flex-direction:column;gap:6px}
.form-row:nth-child(3),.form-row:nth-child(4){grid-column:1/-1}
.contact-form label{font-size:14px;font-weight:700}
.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.55);border-radius:5px;background:white;color:var(--ink);font:inherit;padding:11px 12px}
.contact-form textarea{resize:vertical;min-height:120px}
.contact-form input:focus,.contact-form textarea:focus{outline:3px solid var(--gold);outline-offset:2px}
.contact-form .button{grid-column:1/-1;border:0;cursor:pointer;justify-self:start;font:inherit;font-weight:700}
@media(max-width:1050px){.contact{align-items:flex-start;flex-direction:column}.contact-form{width:100%}}
@media(max-width:520px){.contact-form{grid-template-columns:1fr;padding:22px}.form-row,.form-row:nth-child(3),.form-row:nth-child(4),.contact-form .button{grid-column:1}}

/* Real-book catalog */
.catalog{gap:26px}
.catalog .book-card{min-height:0;padding:0;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 34px rgba(16,43,70,.07);transition:transform .2s ease,box-shadow .2s ease}
.catalog .book-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(16,43,70,.13)}
.catalog .book-card img{display:block;width:100%;height:390px;object-fit:contain;background:#eef2f3;padding:24px}
.book-info{display:flex;flex:1;flex-direction:column;padding:25px}
.book-topic{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#46728e;font-weight:700}
.catalog .book-card h3{font-size:25px;margin:9px 0 20px}
.catalog .book-card a{color:#275f82;padding-top:10px}
.catalog .book-card a:hover{text-decoration:underline}
@media(max-width:850px){.catalog .book-card{min-height:0}.catalog .book-card img{height:430px}}
@media(max-width:520px){.catalog .book-card img{height:390px;padding:20px}}
