.hero{position:relative;height:100svh;min-height:560px;display:flex;align-items:center;overflow:hidden;opacity:var(--scroll-fade,1);will-change:opacity}.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center 40%;transform:scale(calc(1.04 * var(--scroll-scale, 1)));animation:heroZoom 18s ease-out forwards;will-change:transform}@keyframes heroZoom{0%{transform:scale(1.04)}to{transform:scale(1)}}.hero__overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.55),rgba(0,0,0,.28) 60%,rgba(0,0,0,.45))}.hero__content{position:relative;z-index:1;color:var(--color-white);max-width:680px;padding-top:5rem}.hero__label{font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:1rem}.hero__title{font-family:var(--font-serif);font-size:clamp(2.2rem,5.5vw,4rem);font-weight:600;line-height:1.1;margin-bottom:1.25rem;text-shadow:0 2px 24px rgba(0,0,0,.2)}.hero__sub{font-size:clamp(1rem,1.8vw,1.2rem);color:rgba(255,255,255,.85);margin-bottom:2.5rem;max-width:50ch}.hero__actions{display:flex;gap:1rem;flex-wrap:wrap}.hero__btn{display:inline-flex;align-items:center;font-size:.9375rem;font-weight:600;padding:.8rem 1.75rem;border-radius:999px;transition:transform .2s,box-shadow .2s,background .2s}.hero__btn:hover{transform:translateY(-2px)}.hero__btn--primary{background:var(--c-btn-secondary-bg);color:var(--c-btn-primary-bg);box-shadow:0 4px 20px rgba(0,0,0,.18)}.hero__btn--primary:hover{box-shadow:0 8px 32px rgba(0,0,0,.24)}.hero__btn--ghost{background:rgba(255,255,255,.14);color:var(--color-white);border:1.5px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero__btn--ghost:hover{background:rgba(255,255,255,.22)}.hero__scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:1}.hero__scroll-hint span{display:block;width:1.5px;height:48px;background:linear-gradient(180deg,rgba(255,255,255,.6),transparent);animation:scrollLine 2s ease-in-out infinite}@keyframes scrollLine{0%,to{opacity:.6;transform:scaleY(1);transform-origin:top}50%{opacity:1}}.news-section{background:var(--c-bg-page)}.news-loading{text-align:center;padding:3rem;color:var(--c-muted)}.news-layout{display:grid;grid-template-columns:1fr 320px;grid-gap:2rem;gap:2rem;margin-top:2.5rem;align-items:start}@media (max-width:900px){.news-layout{grid-template-columns:1fr}}.news-layout__articles{display:flex;flex-direction:column;gap:1.25rem}.news-small-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.news-card{text-decoration:none;color:inherit;background:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--c-border);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.news-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.news-card--featured{flex-direction:row}@media (max-width:640px){.news-card--featured{flex-direction:column}}.news-card--featured .news-card__img-wrap{flex:0 0 42%;aspect-ratio:unset;min-height:220px}.news-card--featured .news-card__body{padding:1.75rem 2rem;justify-content:center}.news-card--featured .news-card__title{font-size:1.35rem}.news-card--featured .news-card__excerpt{-webkit-line-clamp:4}.news-card--small .news-card__img-wrap{aspect-ratio:16/9}.news-card--small .news-card__title{font-size:1rem;margin-bottom:.4rem}.news-card__img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--c-bg-alt);flex-shrink:0}.news-card__img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.news-card:hover .news-card__img-wrap img{transform:scale(1.04)}.news-card__body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;flex:1 1}.news-card__meta{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem}.news-card__date{font-size:.8125rem;color:var(--c-muted)}.news-card__badge{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.15em .55em;border-radius:999px;line-height:1.6}.news-card__badge--cms{background:color-mix(in srgb,var(--c-accent) 20%,transparent);color:var(--c-secondary)}.news-card__badge--kidplan{background:#e8f0fb;color:#2a5fad}.news-card__title{font-family:var(--font-serif);font-size:1.2rem;color:var(--c-heading);margin-bottom:.6rem;line-height:1.3}.news-card__excerpt{font-size:.9rem;color:var(--c-muted);line-height:1.6;flex:1 1;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-card__read-more{font-size:.875rem;font-weight:600;color:var(--c-secondary);margin-top:auto}.rss-panel{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden;border:1px solid var(--c-border);border-top:3px solid var(--c-accent)}.rss-panel__header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem .875rem;border-bottom:1px solid var(--c-border-subtle)}.rss-panel__title{font-weight:600;font-size:.9375rem;color:var(--c-heading)}.rss-panel__list{display:flex;flex-direction:column}.rss-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:.875rem 1.25rem;border-bottom:1px solid var(--c-border-subtle);text-decoration:none;color:inherit;transition:background .15s;grid-gap:0 .5rem;gap:0 .5rem}.rss-row:last-child{border-bottom:none}.rss-row:hover{background:var(--c-bg-alt)}.rss-row__meta{grid-column:1;grid-row:1}.rss-row__date{font-size:.75rem;color:var(--c-muted)}.rss-row__body{grid-column:1;grid-row:2}.rss-row__title{display:block;font-size:.875rem;font-weight:600;color:var(--c-secondary);line-height:1.4;margin-top:.15rem;transition:color .15s}.rss-row:hover .rss-row__title{color:var(--c-heading)}.rss-row__desc{font-size:.8rem;color:var(--c-muted);margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rss-row__arrow{grid-column:2;grid-row:1/3;align-self:center;font-size:.875rem;color:var(--c-accent);opacity:0;transition:opacity .15s,transform .15s}.rss-row:hover .rss-row__arrow{opacity:1;transform:translateX(2px)}