/* naru.day - Colors: #B8845A, #2A2018, #FEFAF4, #B85A3A, #FF6B6B */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; color: #2A2018; background: #FEFAF4; overflow-x: hidden; }
.hero { min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 40px 20px; }
.sec { min-height: 80vh; display: flex; align-items: center; padding: 80px 40px; }
.sec--warm { background: #FFF5EB; }
.sec--foot { min-height: 20vh; justify-content: center; }
.wrap { max-width: 650px; width: 100%; margin: 0 auto; }
.title { font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 700; color: #B85A3A; opacity: 0; animation: fi 1.2s ease .5s forwards; }
.sub { font-size: 1rem; font-weight: 300; color: #B8845A; margin-top: 12px; opacity: 0; animation: fi 1s ease 1.2s forwards; }
.heading { font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 700; color: #2A2018; margin-bottom: 20px; }
.text { font-size: 1rem; font-weight: 300; line-height: 1.85; color: #2A2018; opacity: 0.8; }
.accent-line { width: 60px; height: 3px; background: #FF6B6B; margin-top: 24px; border-radius: 2px; }
.foot { font-size: 0.75rem; color: #B8845A; opacity: 0.4; text-align: center; width: 100%; }
.rv { opacity: 0; transform: translateY(20px); transition: opacity 1s ease, transform 1s ease; }
.rv.vis { opacity: 1; transform: translateY(0); }
@keyframes fi { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) { .sec { padding: 60px 20px; } }
