*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
    --wine:#11827B; --wine-dark:#0A5450; --wine-light:#2FA69D;
    --gold:#BFA265; --gold-light:#D4C494;
    --cream:#FAF6EF; --cream-dark:#F0E8D8;
    --charcoal:#1E1E1E; --sage:#6B7F5E;
    --gray:#6B6B6B; --gray-light:#A0A0A0; --white:#FFFFFF;
}
html { scroll-behavior:smooth; }
body { font-family:'Inter',sans-serif; color:var(--charcoal); background:var(--cream); line-height:1.6; overflow-x:hidden; }

/* ====== SVG ICON CLASSES ====== */
.icon-pen, .icon-globe, .icon-book, .icon-graduation,
.icon-map-pin, .icon-mail, .icon-phone,
.icon-facebook, .icon-instagram, .icon-twitter, .icon-youtube,
.icon-award, .icon-target, .icon-eye, .icon-heart,
.icon-music, .icon-clock, .icon-chat, .icon-check,
.icon-globe-alt, .icon-books, .icon-quill {
    display:inline-flex; align-items:center; justify-content:center;
    width:1em; height:1em; background-size:contain;
    background-repeat:no-repeat; background-position:center;
    vertical-align:middle; flex-shrink:0;
}
.icon-pen { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M221.66%2C90.34%2C192%2C120%2C136%2C64l29.66-29.66a8%2C8%2C0%2C0%2C1%2C11.31%2C0L221.66%2C79A8%2C8%2C0%2C0%2C1%2C221.66%2C90.34Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M227.31%2C73.37%2C182.63%2C28.68a16%2C16%2C0%2C0%2C0-22.63%2C0L36.69%2C152A15.86%2C15.86%2C0%2C0%2C0%2C32%2C163.31V208a16%2C16%2C0%2C0%2C0%2C16%2C16H92.69A15.86%2C15.86%2C0%2C0%2C0%2C104%2C219.31L227.31%2C96a16%2C16%2C0%2C0%2C0%2C0-22.63ZM51.31%2C160%2C136%2C75.31%2C152.69%2C92%2C68%2C176.68ZM48%2C179.31%2C76.69%2C208H48Zm48%2C25.38L79.31%2C188%2C164%2C103.31%2C180.69%2C120Zm96-96L147.31%2C64l24-24L216%2C84.68Z%22%2F%3E%3C%2Fsvg%3E"); }
.icon-globe { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M224%2C128a96%2C96%2C0%2C1%2C1-96-96A96%2C96%2C0%2C0%2C1%2C224%2C128Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M128%2C24h0A104%2C104%2C0%2C1%2C0%2C232%2C128%2C104.12%2C104.12%2C0%2C0%2C0%2C128%2C24Zm88%2C104a87.61%2C87.61%2C0%2C0%2C1-3.33%2C24H174.16a157.44%2C157.44%2C0%2C0%2C0%2C0-48h38.51A87.61%2C87.61%2C0%2C0%2C1%2C216%2C128ZM102%2C168H154a115.11%2C115.11%2C0%2C0%2C1-26%2C45A115.27%2C115.27%2C0%2C0%2C1%2C102%2C168Zm-3.9-16a140.84%2C140.84%2C0%2C0%2C1%2C0-48h59.88a140.84%2C140.84%2C0%2C0%2C1%2C0%2C48ZM40%2C128a87.61%2C87.61%2C0%2C0%2C1%2C3.33-24H81.84a157.44%2C157.44%2C0%2C0%2C0%2C0%2C48H43.33A87.61%2C87.61%2C0%2C0%2C1%2C40%2C128ZM154%2C88H102a115.11%2C115.11%2C0%2C0%2C1%2C26-45A115.27%2C115.27%2C0%2C0%2C1%2C154%2C88Zm52.33%2C0H170.71a135.28%2C135.28%2C0%2C0%2C0-22.3-45.6A88.29%2C88.29%2C0%2C0%2C1%2C206.37%2C88ZM107.59%2C42.4A135.28%2C135.28%2C0%2C0%2C0%2C85.29%2C88H49.63A88.29%2C88.29%2C0%2C0%2C1%2C107.59%2C42.4ZM49.63%2C168H85.29a135.28%2C135.28%2C0%2C0%2C0%2C22.3%2C45.6A88.29%2C88.29%2C0%2C0%2C1%2C49.63%2C168Zm98.78%2C45.6a135.28%2C135.28%2C0%2C0%2C0%2C22.3-45.6h35.66A88.29%2C88.29%2C0%2C0%2C1%2C148.41%2C213.6Z%22%2F%3E%3C%2Fsvg%3E"); }
.icon-globe-alt { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311827B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20'/%3E%3Cpath d='M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z'/%3E%3Cline x1='12' y1='2' x2='12' y2='22'/%3E%3C/svg%3E"); }
.icon-book { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M232%2C56V200H160a32%2C32%2C0%2C0%2C0-32%2C32%2C32%2C32%2C0%2C0%2C0-32-32H24V56H96a32%2C32%2C0%2C0%2C1%2C32%2C32%2C32%2C32%2C0%2C0%2C1%2C32-32Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M232%2C48H160a40%2C40%2C0%2C0%2C0-32%2C16A40%2C40%2C0%2C0%2C0%2C96%2C48H24a8%2C8%2C0%2C0%2C0-8%2C8V200a8%2C8%2C0%2C0%2C0%2C8%2C8H96a24%2C24%2C0%2C0%2C1%2C24%2C24%2C8%2C8%2C0%2C0%2C0%2C16%2C0%2C24%2C24%2C0%2C0%2C1%2C24-24h72a8%2C8%2C0%2C0%2C0%2C8-8V56A8%2C8%2C0%2C0%2C0%2C232%2C48ZM96%2C192H32V64H96a24%2C24%2C0%2C0%2C1%2C24%2C24V200A39.81%2C39.81%2C0%2C0%2C0%2C96%2C192Zm128%2C0H160a39.81%2C39.81%2C0%2C0%2C0-24%2C8V88a24%2C24%2C0%2C0%2C1%2C24-24h64Z%22%2F%3E%3C%2Fsvg%3E"); }
.icon-books { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M48%2C72h64V184H48ZM190.64%2C38.39a8%2C8%2C0%2C0%2C0-9.5-6.21l-46.81%2C10a8.07%2C8.07%2C0%2C0%2C0-6.15%2C9.57L139.79%2C107l62.46-13.42Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M231.65%2C194.55%2C198.46%2C36.75a16%2C16%2C0%2C0%2C0-19-12.39L132.65%2C34.42a16.08%2C16.08%2C0%2C0%2C0-12.3%2C19l33.19%2C157.8A16%2C16%2C0%2C0%2C0%2C169.16%2C224a16.25%2C16.25%2C0%2C0%2C0%2C3.38-.36l46.81-10.06A16.09%2C16.09%2C0%2C0%2C0%2C231.65%2C194.55ZM136%2C50.15c0-.06%2C0-.09%2C0-.09l46.8-10%2C3.33%2C15.87L139.33%2C66Zm6.62%2C31.47%2C46.82-10.05%2C3.34%2C15.9L146%2C97.53Zm6.64%2C31.57%2C46.82-10.06%2C13.3%2C63.24-46.82%2C10.06ZM216%2C197.94l-46.8%2C10-3.33-15.87L212.67%2C182%2C216%2C197.85C216%2C197.91%2C216%2C197.94%2C216%2C197.94ZM104%2C32H56A16%2C16%2C0%2C0%2C0%2C40%2C48V208a16%2C16%2C0%2C0%2C0%2C16%2C16h48a16%2C16%2C0%2C0%2C0%2C16-16V48A16%2C16%2C0%2C0%2C0%2C104%2C32ZM56%2C48h48V64H56Zm0%2C32h48v96H56Zm48%2C128H56V192h48v16Z%22%2F%3E%3C%2Fsvg%3E"); }
.icon-graduation { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M216%2C113.07v53.22a8%2C8%2C0%2C0%2C1-2%2C5.31c-11.3%2C12.59-38.9%2C36.4-86%2C36.4s-74.68-23.81-86-36.4a8%2C8%2C0%2C0%2C1-2-5.31V113.07L128%2C160Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M251.76%2C88.94l-120-64a8%2C8%2C0%2C0%2C0-7.52%2C0l-120%2C64a8%2C8%2C0%2C0%2C0%2C0%2C14.12L32%2C117.87v48.42a15.91%2C15.91%2C0%2C0%2C0%2C4.06%2C10.65C49.16%2C191.53%2C78.51%2C216%2C128%2C216a130%2C130%2C0%2C0%2C0%2C48-8.76V240a8%2C8%2C0%2C0%2C0%2C16%2C0V199.51a115.63%2C115.63%2C0%2C0%2C0%2C27.94-22.57A15.91%2C15.91%2C0%2C0%2C0%2C224%2C166.29V117.87l27.76-14.81a8%2C8%2C0%2C0%2C0%2C0-14.12ZM128%2C200c-43.27%2C0-68.72-21.14-80-33.71V126.4l76.24%2C40.66a8%2C8%2C0%2C0%2C0%2C7.52%2C0L176%2C143.47v46.34C163.4%2C195.69%2C147.52%2C200%2C128%2C200Zm80-33.75a97.83%2C97.83%2C0%2C0%2C1-16%2C14.25V134.93l16-8.53ZM188%2C118.94l-.22-.13-56-29.87a8%2C8%2C0%2C0%2C0-7.52%2C14.12L171%2C128l-43%2C22.93L25%2C96%2C128%2C41.07%2C231%2C96Z%22%2F%3E%3C%2Fsvg%3E"); }
.icon-map-pin { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M128%2C24a80%2C80%2C0%2C0%2C0-80%2C80c0%2C72%2C80%2C128%2C80%2C128s80-56%2C80-128A80%2C80%2C0%2C0%2C0%2C128%2C24Zm0%2C112a32%2C32%2C0%2C1%2C1%2C32-32A32%2C32%2C0%2C0%2C1%2C128%2C136Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M128%2C64a40%2C40%2C0%2C1%2C0%2C40%2C40A40%2C40%2C0%2C0%2C0%2C128%2C64Zm0%2C64a24%2C24%2C0%2C1%2C1%2C24-24A24%2C24%2C0%2C0%2C1%2C128%2C128Zm0-112a88.1%2C88.1%2C0%2C0%2C0-88%2C88c0%2C31.4%2C14.51%2C64.68%2C42%2C96.25a254.19%2C254.19%2C0%2C0%2C0%2C41.45%2C38.3%2C8%2C8%2C0%2C0%2C0%2C9.18%2C0A254.19%2C254.19%2C0%2C0%2C0%2C174%2C200.25c27.45-31.57%2C42-64.85%2C42-96.25A88.1%2C88.1%2C0%2C0%2C0%2C128%2C16Zm0%2C206c-16.53-13-72-60.75-72-118a72%2C72%2C0%2C0%2C1%2C144%2C0C200%2C161.23%2C144.53%2C209%2C128%2C222Z%22%2F%3E%3C%2Fsvg%3E"); }
.icon-mail { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M224%2C56l-96%2C88L32%2C56Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M224%2C48H32a8%2C8%2C0%2C0%2C0-8%2C8V192a16%2C16%2C0%2C0%2C0%2C16%2C16H216a16%2C16%2C0%2C0%2C0%2C16-16V56A8%2C8%2C0%2C0%2C0%2C224%2C48Zm-96%2C85.15L52.57%2C64H203.43ZM98.71%2C128%2C40%2C181.81V74.19Zm11.84%2C10.85%2C12%2C11.05a8%2C8%2C0%2C0%2C0%2C10.82%2C0l12-11.05%2C58%2C53.15H52.57ZM157.29%2C128%2C216%2C74.18V181.82Z%22%2F%3E%3C%2Fsvg%3E"); }
.icon-phone { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M223.94%2C174.08A48.33%2C48.33%2C0%2C0%2C1%2C176%2C216%2C136%2C136%2C0%2C0%2C1%2C40%2C80%2C48.33%2C48.33%2C0%2C0%2C1%2C81.92%2C32.06a8%2C8%2C0%2C0%2C1%2C8.3%2C4.8l21.13%2C47.2a8%2C8%2C0%2C0%2C1-.66%2C7.53L89.32%2C117a7.93%2C7.93%2C0%2C0%2C0-.54%2C7.81c8.27%2C16.93%2C25.77%2C34.22%2C42.75%2C42.41a7.92%2C7.92%2C0%2C0%2C0%2C7.83-.59l25-21.3a8%2C8%2C0%2C0%2C1%2C7.59-.69l47.16%2C21.13A8%2C8%2C0%2C0%2C1%2C223.94%2C174.08Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M222.37%2C158.46l-47.11-21.11-.13-.06a16%2C16%2C0%2C0%2C0-15.17%2C1.4%2C8.12%2C8.12%2C0%2C0%2C0-.75.56L134.87%2C160c-15.42-7.49-31.34-23.29-38.83-38.51l20.78-24.71c.2-.25.39-.5.57-.77a16%2C16%2C0%2C0%2C0%2C1.32-15.06l0-.12L97.54%2C33.64a16%2C16%2C0%2C0%2C0-16.62-9.52A56.26%2C56.26%2C0%2C0%2C0%2C32%2C80c0%2C79.4%2C64.6%2C144%2C144%2C144a56.26%2C56.26%2C0%2C0%2C0%2C55.88-48.92A16%2C16%2C0%2C0%2C0%2C222.37%2C158.46ZM176%2C208A128.14%2C128.14%2C0%2C0%2C1%2C48%2C80%2C40.2%2C40.2%2C0%2C0%2C1%2C82.87%2C40a.61.61%2C0%2C0%2C0%2C0%2C.12l21%2C47L83.2%2C111.86a6.13%2C6.13%2C0%2C0%2C0-.57.77%2C16%2C16%2C0%2C0%2C0-1%2C15.7c9.06%2C18.53%2C27.73%2C37.06%2C46.46%2C46.11a16%2C16%2C0%2C0%2C0%2C15.75-1.14%2C8.44%2C8.44%2C0%2C0%2C0%2C.74-.56L168.89%2C152l47%2C21.05h0s.08%2C0%2C.11%2C0A40.21%2C40.21%2C0%2C0%2C1%2C176%2C208Z%22%2F%3E%3C%2Fsvg%3E"); }
.icon-quill { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M128%2C48%2C68.32%2C70.38a8%2C8%2C0%2C0%2C0-5.08%2C6.17L40%2C216l139.45-23.24a8%2C8%2C0%2C0%2C0%2C6.17-5.08L208%2C128Zm-4%2C104a20%2C20%2C0%2C1%2C1%2C20-20A20%2C20%2C0%2C0%2C1%2C124%2C152Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M248%2C92.68a15.86%2C15.86%2C0%2C0%2C0-4.69-11.31L174.63%2C12.68a16%2C16%2C0%2C0%2C0-22.63%2C0L123.57%2C41.11l-58%2C21.77A16.06%2C16.06%2C0%2C0%2C0%2C55.35%2C75.23L32.11%2C214.68A8%2C8%2C0%2C0%2C0%2C40%2C224a8.4%2C8.4%2C0%2C0%2C0%2C1.32-.11l139.44-23.24a16%2C16%2C0%2C0%2C0%2C12.35-10.17l21.77-58L243.31%2C104A15.87%2C15.87%2C0%2C0%2C0%2C248%2C92.68Zm-69.87%2C92.19L63.32%2C204l47.37-47.37a28%2C28%2C0%2C1%2C0-11.32-11.32L52%2C192.7%2C71.13%2C77.86%2C126%2C57.29%2C198.7%2C130ZM112%2C132a12%2C12%2C0%2C1%2C1%2C12%2C12A12%2C12%2C0%2C0%2C1%2C112%2C132Zm96-15.32L139.31%2C48l24-24L232%2C92.68Z%22%2F%3E%3C%2Fsvg%3E"); }
/* Social icons - white stroke */
.icon-facebook { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 00-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 011-1h3z'/%3E%3C/svg%3E"); }
.icon-instagram { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1112.63 8 4 4 0 0116 11.37z'/%3E%3Cline x1='17.5' y1='6.5' x2='17.51' y2='6.5'/%3E%3C/svg%3E"); }
.icon-twitter { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4l11.733 16h4.267l-11.733-16z'/%3E%3Cpath d='M4 20l6.768-6.768M20 4l-6.768 6.768'/%3E%3C/svg%3E"); }
.icon-youtube { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22.54 6.42a2.78 2.78 0 00-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 00-1.94 2A29 29 0 001 11.75a29 29 0 00.46 5.33A2.78 2.78 0 003.4 19.1c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 001.94-2 29 29 0 00.46-5.25 29 29 0 00-.46-5.43z'/%3E%3Cpolygon points='9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02'/%3E%3C/svg%3E"); }
/* Additional icons for internal pages */
.icon-award { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2311827B%22%3E%3Cpath%20d%3D%22M176%2C96a48%2C48%2C0%2C1%2C1-48-48A48%2C48%2C0%2C0%2C1%2C176%2C96Z%22%20opacity%3D%220.2%22%2F%3E%3Cpath%20d%3D%22M216%2C96A88%2C88%2C0%2C1%2C0%2C72%2C163.83V240a8%2C8%2C0%2C0%2C0%2C11.58%2C7.16L128%2C225l44.43%2C22.21A8.07%2C8.07%2C0%2C0%2C0%2C176%2C248a8%2C8%2C0%2C0%2C0%2C8-8V163.83A87.85%2C87.85%2C0%2C0%2C0%2C216%2C96ZM56%2C96a72%2C72%2C0%2C1%2C1%2C72%2C72A72.08%2C72.08%2C0%2C0%2C1%2C56%2C96ZM168%2C227.06l-36.43-18.21a8%2C8%2C0%2C0%2C0-7.16%2C0L88%2C227.06V174.37a87.89%2C87.89%2C0%2C0%2C0%2C80%2C0ZM128%2C152A56%2C56%2C0%2C1%2C0%2C72%2C96%2C56.06%2C56.06%2C0%2C0%2C0%2C128%2C152Zm0-96A40%2C40%2C0%2C1%2C1%2C88%2C96%2C40%2C40%2C0%2C0%2C1%2C128%2C56Z%22%2F%3E%3C%2Fsvg%3E"); }
.icon-target { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311827B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E"); }
.icon-eye { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311827B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.icon-heart { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311827B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z'/%3E%3C/svg%3E"); }
.icon-music { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311827B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l12-2v13'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='18' cy='16' r='3'/%3E%3C/svg%3E"); }
.icon-clock { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311827B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E"); }
.icon-chat { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311827B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z'/%3E%3C/svg%3E"); }
.icon-check { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311827B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 11-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E"); }

/* Gold-stroke variant for icons on dark backgrounds */
.icon-gold { filter:brightness(0) saturate(100%) invert(71%) sepia(18%) saturate(785%) hue-rotate(8deg) brightness(91%) contrast(87%); }

/* ====== PAPER TEXTURE OVERLAY ====== */
.has-texture { position:relative; }
.has-texture::after {
    content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
    opacity:.025;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");
}
.has-texture > * { position:relative; z-index:1; }

/* ====== SECTION WAVE DIVIDERS ====== */
.wave-divider {
    position:relative; width:100%; overflow:hidden; line-height:0;
}
.wave-divider svg { display:block; width:100%; height:60px; }
.wave-divider.flip { transform:rotate(180deg); }
.wave-divider-cream svg { fill:var(--cream); }
.wave-divider-white svg { fill:var(--white); }
.wave-divider-wine svg { fill:var(--wine-dark); }
.wave-divider-charcoal svg { fill:var(--charcoal); }

/* ====== NAVBAR ====== */
.navbar { position:fixed; top:0; width:100%; z-index:1000; padding:1rem 0; transition:all .4s; background:transparent; }
.navbar.scrolled {
    background:rgba(255,255,255,.97); backdrop-filter:blur(12px);
    box-shadow:0 2px 30px rgba(0,0,0,.06);
    padding:.6rem 0;
    border-bottom:2px solid transparent;
    border-image:linear-gradient(90deg, transparent 0%, var(--gold) 30%, var(--gold-light) 50%, var(--gold) 70%, transparent 100%) 1;
}
.navbar .container { display:flex; justify-content:space-between; align-items:center; }
/* Logo de marca por imagen: blanco sobre fondos oscuros, a color cuando el navbar es claro */
.logo { display:inline-block; width:220px; height:46px; background:url('../img/brand/logo-blanco.png') left center / contain no-repeat; font-size:0; line-height:0; color:transparent; text-decoration:none; transition:opacity .3s; }
.logo:hover { opacity:.85; }
.logo span, .logo .logo-separator { display:none; }
.navbar.scrolled .logo { background-image:url('../img/brand/logo-web.png'); }
.nav-links { display:flex; list-style:none; gap:2rem; align-items:center; }
.nav-links a { text-decoration:none; color:rgba(255,255,255,.9); font-size:.88rem; font-weight:500; letter-spacing:.8px; text-transform:uppercase; transition:color .3s; position:relative; }
.nav-links a::after {
    content:''; position:absolute; bottom:-4px; left:50%; width:0; height:1.5px;
    background:var(--gold); transition:width .3s, left .3s;
}
.nav-links a:hover::after { width:100%; left:0; }
.navbar.scrolled .nav-links a { color:var(--charcoal); }
.nav-links a:hover { color:var(--gold); }
.nav-btn { background:linear-gradient(135deg, var(--gold), var(--gold-light))!important; color:var(--charcoal)!important; padding:.5rem 1.4rem; border-radius:25px; font-weight:600!important; transition:transform .3s,box-shadow .3s!important; text-transform:none!important; letter-spacing:0!important; }
.nav-btn::after { display:none!important; }
.nav-btn:hover { transform:translateY(-2px); box-shadow:0 4px 15px rgba(191,162,101,.4); }
.menu-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:1001; }
.menu-toggle span { width:25px; height:2px; background:var(--white); transition:all .3s; }
.navbar.scrolled .menu-toggle span { background:var(--charcoal); }
.container { max-width:1200px; margin:0 auto; padding:0 2rem; }

/* ====== HERO ====== */
.hero { min-height:100vh; background:linear-gradient(135deg,var(--wine-dark) 0%,var(--wine) 40%,#063B38 100%); display:flex; align-items:center; position:relative; overflow:hidden; }
.hero::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23BFA265' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity:.5; }
/* Radial gradient overlay for depth */
.hero::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 50%, rgba(107,45,62,.0) 0%, rgba(74,29,43,.4) 100%); pointer-events:none; }
.hero-content { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; width:100%; }
.hero-text h1 { font-family:'Playfair Display',serif; font-weight:500; font-size:clamp(2.6rem,5.2vw,4.4rem); color:var(--white); line-height:1.08; letter-spacing:-.015em; margin-bottom:1.5rem; position:relative; }
.hero-text h1 em { color:var(--gold-light); font-style:italic; position:relative; }
.hero-text h1 em::after { content:''; position:absolute; left:0; right:0; bottom:.05em; height:2px; background:linear-gradient(90deg,var(--wine-light),transparent); }
.hero-text h1::after {
    content:''; display:block; width:80px; height:2px; margin-top:1.2rem;
    background:linear-gradient(90deg, var(--gold), transparent);
}
.hero-text p { font-family:'Lora',serif; font-size:1.15rem; color:rgba(255,255,255,.8); margin-bottom:2rem; line-height:1.8; }
.hero-badge { display:inline-flex; align-items:center; gap:.7rem; background:rgba(191,162,101,.10); border:1px solid rgba(191,162,101,.28); border-radius:50px; padding:.5rem 1.3rem; margin-bottom:2rem; }
.hero-badge::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--wine-light); animation:badgePulse 2.4s ease-out infinite; flex-shrink:0; }
.hero-badge span { color:var(--gold-light); font-size:.78rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
@keyframes badgePulse { 0%{box-shadow:0 0 0 0 rgba(47,166,157,.5);} 70%{box-shadow:0 0 0 9px rgba(47,166,157,0);} 100%{box-shadow:0 0 0 0 rgba(47,166,157,0);} }
.hero-buttons { display:flex; gap:1rem; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.9rem 2rem; border-radius:50px; text-decoration:none; font-weight:600; font-size:.95rem; transition:all .3s; border:none; cursor:pointer; position:relative; overflow:hidden; }
/* Sheen animation on hover */
.btn::before {
    content:''; position:absolute; top:0; left:-75%;
    width:50%; height:100%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
    transform:skewX(-25deg); transition:left .6s;
}
.btn:hover::before { left:125%; }
.btn-primary { background:linear-gradient(135deg, var(--gold), #d4b87a, var(--gold)); color:var(--charcoal); background-size:200% 100%; }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 8px 25px rgba(191,162,101,.4); background-position:100% 0; }
.btn-outline { border:2px solid rgba(255,255,255,.4); color:var(--white); background:transparent; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.btn-wine { background:linear-gradient(135deg, var(--wine), var(--wine-light)); color:var(--white); text-shadow:0 1px 2px rgba(0,0,0,.15); }
.btn-wine:hover { background:linear-gradient(135deg, var(--wine-dark), var(--wine)); transform:translateY(-3px); box-shadow:0 8px 25px rgba(107,45,62,.3); }
.hero-visual { display:flex; justify-content:center; align-items:center; }
.hero-books { position:relative; width:540px; height:620px; }
.hero-books::before { content:''; position:absolute; width:440px; height:440px; left:50%; top:48%; transform:translate(-50%,-50%); background:radial-gradient(circle,rgba(47,166,157,.22),transparent 65%); filter:blur(18px); z-index:0; pointer-events:none; }
.floating-book { position:absolute; width:270px; height:400px; border-radius:2px 8px 8px 2px; box-shadow:0 20px 60px rgba(0,0,0,.4); display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem 1.5rem 1.5rem 1.8rem; transition:transform .5s ease, box-shadow .5s ease; overflow:hidden; }
.floating-book > h4, .floating-book > span { position:relative; z-index:3; text-shadow:0 2px 8px rgba(0,0,0,.7); }
/* Lomo del libro */
.floating-book::before { content:''; position:absolute; top:0; left:0; width:12px; height:100%; background:rgba(0,0,0,.25); border-right:1px solid rgba(255,255,255,.08); }
/* Textura de paginas */
.floating-book::after { content:''; position:absolute; top:8px; right:0; width:4px; height:calc(100% - 16px); background:repeating-linear-gradient(to bottom, rgba(255,255,255,.15) 0px, rgba(255,255,255,.15) 1px, transparent 1px, transparent 3px); border-radius:0 2px 2px 0; }
.floating-book:hover { transform:translateY(-10px) rotate(0deg)!important; box-shadow:0 30px 70px rgba(0,0,0,.4), 0 0 20px rgba(191,162,101,.15); }
.floating-book:nth-child(1) { top:0; left:0; transform:rotate(-6deg); z-index:3; animation:bookBob1 6s ease-in-out infinite; }
.floating-book:nth-child(2) { top:40px; left:160px; transform:rotate(4deg); z-index:2; animation:bookBob2 7s ease-in-out infinite; }
.floating-book:nth-child(3) { top:160px; left:70px; transform:rotate(-2deg); z-index:1; animation:bookBob3 8s ease-in-out infinite; }
@keyframes bookBob1 { 0%,100% { transform:rotate(-6deg) translateY(0); } 50% { transform:rotate(-6deg) translateY(-12px); } }
@keyframes bookBob2 { 0%,100% { transform:rotate(4deg) translateY(0); } 50% { transform:rotate(4deg) translateY(-10px); } }
@keyframes bookBob3 { 0%,100% { transform:rotate(-2deg) translateY(0); } 50% { transform:rotate(-2deg) translateY(-14px); } }
.floating-book h4 { font-family:'Playfair Display',serif; color:var(--white); font-size:1rem; margin-bottom:.3rem; }
.floating-book span { color:rgba(255,255,255,.7); font-size:.75rem; }
.book-decoration { position:absolute; width:100px; height:100px; border:2px solid rgba(191,162,101,.2); border-radius:50%; bottom:20px; right:20px; animation:pulse-ring 4s ease-in-out infinite; }

/* Floating decorative elements in hero */
.hero-float {
    position:absolute; opacity:.08; pointer-events:none; z-index:1;
}
.hero-float-1 {
    top:15%; right:8%; width:40px; height:40px;
    border:2px solid var(--gold); border-radius:50%;
    animation:hero-drift-1 8s ease-in-out infinite;
}
.hero-float-2 {
    bottom:20%; left:5%; width:24px; height:24px;
    background:var(--gold); border-radius:50%;
    animation:hero-drift-2 10s ease-in-out infinite;
}
.hero-float-3 {
    top:30%; right:15%; width:60px; height:60px;
    border:1.5px solid var(--gold-light); border-radius:4px;
    transform:rotate(45deg);
    animation:hero-drift-3 12s ease-in-out infinite;
}
@keyframes hero-drift-1 { 0%,100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(-20px) rotate(180deg);} }
@keyframes hero-drift-2 { 0%,100%{transform:translateY(0) scale(1);} 50%{transform:translateY(-15px) scale(1.2);} }
@keyframes hero-drift-3 { 0%,100%{transform:translateY(0) rotate(45deg);} 50%{transform:translateY(-25px) rotate(90deg);} }

/* ====== STATS ====== */
.stats { background:var(--white); padding:4.5rem 0; position:relative; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; text-align:center; }
.stat-item { position:relative; padding:1rem 0; }
.stat-item:not(:last-child)::before { content:''; position:absolute; right:-1rem; top:16%; bottom:16%; width:1px; background:rgba(191,162,101,.30); }
.stat-item .stat-icon {
    display:flex; width:102px; height:102px; margin:0 auto 1.25rem; opacity:1;
    background-color:rgba(17,130,123,.08); background-size:56px;
    border:1px solid rgba(17,130,123,.20); border-radius:24px;
    transition:transform .35s ease, background-color .35s ease, border-color .35s ease;
}
.stat-item:hover .stat-icon { transform:translateY(-3px); background-color:rgba(17,130,123,.16); border-color:rgba(17,130,123,.42); }
.stat-item h3 { font-family:'Playfair Display',serif; font-weight:600; font-size:clamp(2.5rem,4.2vw,3.4rem); color:var(--wine); margin-bottom:.5rem; letter-spacing:-1px; }
.stat-item h3::after {
    content:''; display:block; width:40px; height:2px; margin:.4rem auto 0;
    background:linear-gradient(90deg, transparent, var(--gold), transparent);
}
.stat-item p { color:var(--gray); font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
@media(max-width:768px){ .stats-grid{ grid-template-columns:repeat(2,1fr); gap:2.5rem 1rem; } .stat-item:not(:last-child)::before{ display:none; } }

/* Counter animation */
.stat-item h3 .counter { display:inline-block; }

/* ====== SECTIONS ====== */
section { padding:5rem 0; }
.section-header { text-align:center; margin-bottom:3.5rem; }
.section-tag {
    display:inline-block; font-size:.75rem; font-weight:600; letter-spacing:3px;
    text-transform:uppercase; color:var(--gold); margin-bottom:.8rem;
}
.section-tag::before { content:'\2014\00a0'; opacity:.5; }
.section-tag::after { content:'\00a0\2014'; opacity:.5; }
.section-header h2 { font-family:'Playfair Display',serif; font-size:2.5rem; color:var(--charcoal); margin-bottom:1rem; letter-spacing:-.5px; }
.section-header p { font-family:'Lora',serif; color:var(--gray); max-width:600px; margin:0 auto; font-size:1.05rem; }

/* ====== ABOUT ====== */
.about { background:var(--white); position:relative; overflow:hidden; }
/* Book watermark SVG in about section */
.about::before {
    content:''; position:absolute; right:-60px; bottom:-40px; width:300px; height:300px;
    opacity:.03; pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='%2311827B'%3E%3Cpath d='M20 100V20h5v75h50V20h5v80H20zm65-80h15v80H85V20zm-50 5h10v15H35V25zm0 20h30v3H35v-3zm0 8h30v3H35v-3zm0 8h25v3H35v-3z'/%3E%3C/svg%3E");
    background-size:contain; background-repeat:no-repeat;
}
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.about-image { background:linear-gradient(135deg,var(--wine),var(--wine-dark)); border-radius:16px; height:400px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.about-image::after { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23BFA265' fill-opacity='0.08'%3E%3Cpath fill-rule='evenodd' d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E"); }
.about-image-text { position:relative; z-index:2; text-align:center; color:var(--white); }
.about-image-text .years { font-family:'Playfair Display',serif; font-size:5rem; font-weight:700; color:var(--gold); line-height:1; }
.about-image-text p { font-size:1.1rem; margin-top:.5rem; opacity:.9; letter-spacing:.5px; }
.about-text h3 { font-family:'Playfair Display',serif; font-size:2rem; margin-bottom:1.5rem; }
.about-text p { color:var(--gray); margin-bottom:1.2rem; line-height:1.8; }
.about-features { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2rem; }
.about-feature { display:flex; align-items:center; gap:.8rem; font-weight:500; font-size:.9rem; }
.about-feature .icon { width:66px; height:66px; background:rgba(17,130,123,.08); border:1px solid rgba(17,130,123,.18); border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; transition:background .3s, transform .3s, border-color .3s; }
.about-feature:hover .icon { background:rgba(17,130,123,.16); border-color:rgba(17,130,123,.4); transform:translateY(-2px); }
.about-feature:hover .icon { background:var(--cream-dark); transform:scale(1.08); }
.about-feature .icon [class^="icon-"] { width:34px; height:34px; }

/* ====== CATALOG ====== */
.catalog { background:var(--cream); position:relative; }
.catalog-tabs { display:flex; justify-content:center; gap:.5rem; margin-bottom:3rem; flex-wrap:wrap; }
.catalog-tab { padding:.6rem 1.5rem; border-radius:50px; border:2px solid var(--cream-dark); background:transparent; font-family:'Inter',sans-serif; font-size:.9rem; font-weight:500; cursor:pointer; color:var(--gray); transition:all .3s; }
.catalog-tab.active,.catalog-tab:hover { background:var(--wine); color:var(--white); border-color:var(--wine); }
.books-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }

/* ===== CARRUSEL AUTOMATICO (catalogo y autores en el inicio) ===== */
.carousel { position:relative; overflow:hidden; }
.carousel-track { display:flex; gap:2.5rem; width:max-content; padding:12px 0 16px; animation:marquee 60s linear infinite; will-change:transform; }
.carousel:hover .carousel-track { animation-play-state:paused; }
.carousel-track > * { flex:0 0 auto; }
.carousel-track .book-card { width:280px; }
.carousel-track .book-cover { height:360px; }
.carousel-track .book-cover img { width:205px !important; height:300px !important; }
.carousel-track .book-cover-inner { width:195px; height:290px; }
.carousel-track .author-card { width:210px; }
.carousel-track .author-avatar { width:128px; height:128px; font-size:2.3rem; }
.carousel-btn { display:none; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ===== PAGINACION (paginas completas de catalogo y autores) ===== */
.pagination { display:flex; justify-content:center; align-items:center; gap:.5rem; flex-wrap:wrap; margin-top:3rem; }
.page-btn { min-width:42px; height:42px; padding:0 .85rem; border:1px solid var(--cream-dark); background:var(--white); color:var(--charcoal); border-radius:10px; font-family:'Inter',sans-serif; font-size:.9rem; font-weight:600; cursor:pointer; transition:all .2s; }
.page-btn:hover:not(:disabled):not(.active) { border-color:var(--wine); color:var(--wine); }
.page-btn.active { background:var(--wine); color:var(--white); border-color:var(--wine); }
.page-btn:disabled { opacity:.4; cursor:default; }
.page-ellipsis { color:var(--gray); padding:0 .2rem; }
@media (prefers-reduced-motion: reduce) { .carousel-track { animation:none; } }
@media(max-width:768px) { .carousel-track { gap:1.4rem; } .carousel-track .book-card { width:220px; } .carousel-track .book-cover { height:300px; } .carousel-track .book-cover img { width:165px !important; height:245px !important; } .carousel-track .author-card { width:170px; } }
.book-card { background:var(--white); border-radius:12px; overflow:hidden; transition:all .4s; border:1px solid rgba(0,0,0,.05); perspective:800px; }
.book-card:hover { transform:translateY(-8px); box-shadow:0 25px 60px rgba(0,0,0,.12); }
.book-cover { height:280px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
/* Inner shadow on cover area */
.book-cover::after {
    content:''; position:absolute; inset:0; pointer-events:none;
    box-shadow:inset 0 -30px 30px -20px rgba(0,0,0,.06), inset 0 0 40px rgba(0,0,0,.03);
}
.book-cover-inner { width:130px; height:200px; border-radius:1px 4px 4px 1px; box-shadow:5px 5px 20px rgba(0,0,0,.2); display:flex; flex-direction:column; justify-content:center; align-items:center; padding:1.2rem 1.2rem 1.2rem 1.5rem; text-align:center; transition:transform .5s cubic-bezier(0.23,1,0.32,1); position:relative; overflow:hidden; }
/* Lomo de la portada */
.book-cover-inner::before { content:''; position:absolute; top:0; left:0; width:10px; height:100%; background:rgba(0,0,0,.3); border-right:1px solid rgba(255,255,255,.06); }
/* Textura de paginas */
.book-cover-inner::after { content:''; position:absolute; top:6px; right:0; width:3px; height:calc(100% - 12px); background:repeating-linear-gradient(to bottom, rgba(255,255,255,.12) 0px, rgba(255,255,255,.12) 1px, transparent 1px, transparent 2.5px); }
.book-cover-inner h5, .book-cover-inner span { position:relative; z-index:1; }
.book-card:hover .book-cover-inner { transform:scale(1.05) rotateY(-4deg); box-shadow:8px 8px 30px rgba(0,0,0,.3); }
.book-cover-inner h5 { font-family:'Playfair Display',serif; color:var(--white); font-size:.95rem; line-height:1.3; margin-bottom:.5rem; letter-spacing:.3px; }
.book-cover-inner span { font-size:.7rem; color:rgba(255,255,255,.7); }
.book-info { padding:1.2rem; }
.book-info h4 { font-family:'Playfair Display',serif; font-size:1.05rem; margin-bottom:.3rem; letter-spacing:.2px; }
.book-info .author { color:var(--gray); font-size:.85rem; margin-bottom:.8rem; }
.book-info .book-meta { display:flex; justify-content:space-between; align-items:center; }
.book-price { font-weight:700; color:var(--wine); font-size:1.1rem; }
.book-tag { font-size:.7rem; padding:.25rem .7rem; border-radius:20px; background:var(--cream); color:var(--gray); font-weight:500; }

/* ====== AUTHORS ====== */
.authors { background:var(--white); }
.authors-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:1.5rem; }
.author-card { text-align:center; transition:transform .3s; }
.author-card:hover { transform:translateY(-5px); }
.author-avatar { width:100px; height:100px; border-radius:50%; margin:0 auto .8rem; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:1.8rem; color:var(--white); font-weight:700; position:relative; }
/* Ring animation on hover */
.author-avatar::before {
    content:''; position:absolute; inset:-5px; border-radius:50%;
    border:2px solid var(--gold); opacity:0; transition:all .4s ease;
    transform:scale(.8);
}
.author-card:hover .author-avatar::before { opacity:1; transform:scale(1); }
.author-avatar::after {
    content:''; position:absolute; inset:-9px; border-radius:50%;
    border:1px solid var(--gold-light); opacity:0; transition:all .5s ease .05s;
    transform:scale(.8);
}
.author-card:hover .author-avatar::after { opacity:.5; transform:scale(1); }
.author-card h4 { font-size:.85rem; font-weight:600; margin-bottom:.2rem; }
.author-card p { font-size:.75rem; color:var(--gray); }

/* ====== BLOG ====== */
.blog { background:var(--cream); }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.blog-card { background:var(--white); border-radius:12px; overflow:hidden; transition:all .4s; border:1px solid rgba(0,0,0,.05); }
.blog-card:hover { transform:translateY(-5px); box-shadow:0 15px 40px rgba(0,0,0,.08); }
.blog-image { height:200px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.blog-image img { transition:transform .5s ease; }
.blog-card:hover .blog-image img { transform:scale(1.08); }
.blog-image .blog-cat { position:absolute; top:1rem; left:1rem; background:var(--wine); color:var(--white); font-size:.7rem; padding:.3rem .8rem; border-radius:20px; font-weight:600; z-index:2; }
.blog-content { padding:1.5rem; }
.blog-date { font-size:.8rem; color:var(--gray-light); margin-bottom:.5rem; }
.blog-content h4 { font-family:'Playfair Display',serif; font-size:1.15rem; margin-bottom:.6rem; line-height:1.4; }
.blog-content p { color:var(--gray); font-size:.9rem; line-height:1.6; }

/* ====== TESTIMONIALS ====== */
.testimonials { background:linear-gradient(135deg,var(--wine-dark),var(--wine)); color:var(--white); position:relative; overflow:hidden; }
/* Large decorative quotation mark */
.testimonials::before {
    content:''; position:absolute; top:40px; left:5%; width:200px; height:200px; opacity:.04; pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='%23BFA265'%3E%3Cpath d='M30 60c-11 0-20-9-20-20h10c0 5.5 4.5 10 10 10V60zM70 60c-11 0-20-9-20-20h10c0 5.5 4.5 10 10 10V60zM30 30c-11 0-20-9-20-20h10c0 5.5 4.5 10 10 10V30zM70 30c-11 0-20-9-20-20h10c0 5.5 4.5 10 10 10V30z'/%3E%3C/svg%3E");
    background-size:contain; background-repeat:no-repeat;
}
.testimonials .section-tag { color:var(--gold-light); }
.testimonials .section-header h2 { color:var(--white); }
.testimonials .section-header p { color:rgba(255,255,255,.7); }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.testimonial-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:2rem; backdrop-filter:blur(10px); position:relative; transition:all .4s ease; }
.testimonial-card:hover { background:rgba(255,255,255,.1); box-shadow:0 0 30px rgba(191,162,101,.08); }
/* Decorative quote mark on each card */
.testimonial-card .quote-mark {
    font-family:'Playfair Display',serif; font-size:3.5rem; line-height:1;
    color:var(--gold); opacity:.25; display:block; margin-bottom:-.5rem;
    user-select:none;
}
.testimonial-stars { color:var(--gold); font-size:.9rem; margin-bottom:1rem; letter-spacing:2px; }
.testimonial-card p { font-family:'Lora',serif; font-style:italic; line-height:1.8; margin-bottom:1.5rem; color:rgba(255,255,255,.9); }
.testimonial-author { display:flex; align-items:center; gap:.8rem; }
.testimonial-avatar { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg, var(--gold), var(--gold-light)); display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--charcoal); font-size:.85rem; }
.testimonial-author h5 { font-size:.9rem; margin-bottom:.1rem; }
.testimonial-author span { font-size:.75rem; color:rgba(255,255,255,.6); }

/* ====== CONTACT ====== */
.contact { background:var(--white); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.contact-info h3 { font-family:'Playfair Display',serif; font-size:1.8rem; margin-bottom:1rem; }
.contact-info p { color:var(--gray); margin-bottom:2rem; line-height:1.7; }
.contact-detail { display:flex; align-items:center; gap:1rem; margin-bottom:1.2rem; }
.contact-icon { width:76px; height:76px; border-radius:19px; background:rgba(17,130,123,.08); border:1px solid rgba(17,130,123,.18); display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; transition:background .3s, border-color .3s, transform .3s; }
.contact-icon [class^="icon-"] { width:38px; height:38px; }
.contact-detail:hover .contact-icon { background:rgba(17,130,123,.16); border-color:rgba(17,130,123,.4); transform:translateY(-2px); }
.contact-detail h4 { font-size:.85rem; font-weight:600; margin-bottom:.15rem; }
.contact-detail span { font-size:.9rem; color:var(--gray); }
.contact-form { background:var(--cream); padding:2.5rem; border-radius:16px; border:1px solid rgba(0,0,0,.04); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { margin-bottom:1.2rem; }
.form-group label { display:block; font-size:.85rem; font-weight:500; margin-bottom:.4rem; }
.form-group input,.form-group textarea { width:100%; padding:.8rem 1rem; border:2px solid var(--cream-dark); border-radius:10px; font-family:'Inter',sans-serif; font-size:.9rem; background:var(--white); transition:border-color .3s, box-shadow .3s; outline:none; }
.form-group input:focus,.form-group textarea:focus { border-color:var(--wine); box-shadow:0 0 0 3px rgba(107,45,62,.08); }
.form-group textarea { resize:vertical; min-height:120px; }

/* ====== FOOTER ====== */
.footer { background:var(--charcoal); color:rgba(255,255,255,.7); padding:0 0 1.5rem; position:relative; }
/* Decorative border pattern at top of footer */
.footer::before {
    content:''; display:block; width:100%; height:3px;
    background:linear-gradient(90deg,
        var(--wine-dark) 0%,
        var(--gold) 20%,
        var(--wine) 40%,
        var(--gold-light) 60%,
        var(--wine) 80%,
        var(--gold) 100%
    );
}
.footer-inner { padding:3rem 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:2.5rem; }
.footer-brand .logo { background-image:url('../img/brand/logo-blanco.png'); width:210px; height:58px; margin-bottom:.4rem; }
.footer-brand p { margin-top:1rem; font-size:.85rem; line-height:1.7; }
.footer h4 { color:var(--white); font-size:.9rem; margin-bottom:1rem; font-weight:600; letter-spacing:.5px; }
.footer ul { list-style:none; }
.footer ul li { margin-bottom:.6rem; }
.footer ul a { color:rgba(255,255,255,.6); text-decoration:none; font-size:.85rem; transition:color .3s, padding-left .3s; }
.footer ul a:hover { color:var(--gold); padding-left:4px; }
.footer-social { display:flex; gap:.8rem; margin-top:1.2rem; }
.footer-social a {
    width:38px; height:38px; border-radius:50%;
    background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center;
    color:var(--white); text-decoration:none; font-size:.85rem;
    transition:background .3s, transform .3s;
    border:1px solid rgba(255,255,255,.08);
}
.footer-social a:hover { background:var(--wine); transform:translateY(-2px); border-color:var(--wine); }
.footer-social a [class^="icon-"] { width:16px; height:16px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:1.5rem; text-align:center; font-size:.8rem; }

/* ====== ANIMATIONS ====== */
.fade-in { opacity:0; transform:translateY(30px); transition:opacity .6s ease,transform .6s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

@keyframes pulse-ring {
    0%,100% { transform:scale(1); opacity:.2; }
    50% { transform:scale(1.15); opacity:.4; }
}

/* Counter number animation */
@keyframes count-in {
    from { opacity:0; transform:translateY(10px); }
    to { opacity:1; transform:translateY(0); }
}
.stat-item.visible h3 { animation:count-in .5s ease forwards; }

/* ====== RESPONSIVE ====== */
@media(max-width:1024px) {
    .hero-content { grid-template-columns:1fr; text-align:center; }
    .hero-visual { display:none; }
    .hero-text h1::after { margin-left:auto; margin-right:auto; }
    .hero-buttons { justify-content:center; }
    .hero-float { display:none; }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .books-grid { grid-template-columns:repeat(2,1fr); }
    .authors-grid { grid-template-columns:repeat(3,1fr); }
    .about-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:768px) {
    .nav-links { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:var(--wine-dark); flex-direction:column; justify-content:center; align-items:center; gap:1.5rem; z-index:1000; }
    .nav-links.active { display:flex; }
    .nav-links a { color:var(--white)!important; font-size:1.2rem; }
    .nav-links a::after { display:none; }
    .menu-toggle { display:flex; }
    .hero-text h1 { font-size:2.2rem; }
    .books-grid { grid-template-columns:1fr; }
    .blog-grid { grid-template-columns:1fr; }
    .testimonials-grid { grid-template-columns:1fr; }
    .contact-grid { grid-template-columns:1fr; }
    .form-row { grid-template-columns:1fr; }
    .authors-grid { grid-template-columns:repeat(2,1fr); }
    .about-features { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; gap:2rem; }
    .section-header h2 { font-size:1.8rem; }
    .stat-item h3 { font-size:1.8rem; }
    .wave-divider svg { height:35px; }
    .testimonials::before { width:120px; height:120px; }
}
