.hero-slider { position: relative; overflow: hidden; }
.slider-track { position: absolute; inset: 0; width: 100%; height: 100%; }
.slider-slide { position: absolute; inset: 0; display: flex; align-items: flex-end; width: 100%; height: 100%; opacity: 0; pointer-events: none; transition: opacity .8s var(--ease); }
.slider-slide.is-active { opacity: 1; pointer-events: auto; }
.slider-control { position: absolute; z-index: 4; top: 50%; transform: translateY(-50%); width: 2.75rem; height: 2.75rem; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; color: #fff; background: rgba(44,36,38,.35); font-size: 1.8rem; cursor: pointer; }
.slider-prev { left: 1rem; }.slider-next { right: 1rem; }
.slider-dots { position: absolute; z-index: 4; left: 50%; bottom: 1rem; transform: translateX(-50%); display: flex; gap: .5rem; }
.slider-dots button { width: .65rem; height: .65rem; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.slider-dots button[aria-current="true"] { background: #fff; }
.pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; list-style: none; padding: 0; margin: 2rem 0 0; }
.pagination a { display: grid; min-width: 2.4rem; height: 2.4rem; place-items: center; padding: 0 .7rem; border: 1px solid var(--line); text-decoration: none; }
.pagination a[aria-current="page"] { color: #fff; background: var(--rose); border-color: var(--rose); }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,19rem),1fr)); gap: 1.5rem; }
.blog-card { overflow: hidden; border: 1px solid var(--line); background: rgba(255,255,255,.65); box-shadow: var(--shadow-soft); }
.blog-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.blog-card-body { padding: 1.35rem; }.blog-card-body time,.post-date { font-size: .85rem; color: var(--rose); }
.blog-card h2 { font-size: 1.25rem; }.blog-card h2 a { color: var(--ink); text-decoration: none; }
.compact-hero { padding: calc(var(--nav-h) + 4rem) 0 4rem; background: var(--paper-warm); }
.post-cover { margin-top: 2rem; }.post-cover img { width: 100%; max-height: 38rem; object-fit: cover; }
.cms-content { max-width: 58rem; }.cms-content img { margin: 1.5rem auto; }
.success-panel,.error-page { text-align: center; padding-top: calc(var(--nav-h) + 5rem); padding-bottom: 6rem; }
.success-panel .btn-group,.error-page .btn-group { justify-content: center; }
.notice { padding: 1rem; border: 1px solid var(--line); background: var(--paper-warm); }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.design-credit { margin: .7rem 0 0; font-size: .72rem; text-align: center; opacity: .7; letter-spacing: .03em; }
.design-credit a { font-weight: 600; }
.wa-float { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 90; display: grid; place-items: center; min-width: 3.4rem; height: 3.4rem; padding: 0 .8rem; border-radius: 999px; color: #fff; background: #25d366; box-shadow: 0 10px 28px rgba(0,0,0,.2); font-size: .72rem; font-weight: 700; text-decoration: none; }
.wa-float:hover { color: #fff; background: #1faa52; }
@media (max-width: 640px) { .slider-control { display:none; } }
@media (prefers-reduced-motion: reduce) { .slider-slide { transition: none; } }
