:root { --bw-shadow: 0 12px 32px rgba(18, 71, 90, .12); --bw-radius: 1.5rem; --bw-accent-text: #a93a2c; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; background-color: #fffaf0; background-image: radial-gradient(circle at 7% 18%, rgba(248, 199, 72, .15) 0, rgba(248, 199, 72, 0) 20rem), radial-gradient(circle at 94% 42%, rgba(93, 143, 73, .11) 0, rgba(93, 143, 73, 0) 24rem), linear-gradient(145deg, #fffaf0 0%, #f7fcf9 50%, #eaf6fb 100%); background-attachment: fixed; }
.bw-skip-link { position: absolute; z-index: 1000; top: .5rem; left: .5rem; padding: .75rem 1rem; background: #fff; color: #12475a; border-radius: .5rem; transform: translateY(-150%); transition: transform .15s ease; }
.bw-skip-link:focus { transform: translateY(0); outline: 3px solid #12475a; outline-offset: 2px; }
main a:not(.wp-block-button__link), .bw-footer a { text-decoration-thickness: 2px; text-underline-offset: .18em; }
.wp-site-blocks { padding-top: 0; background: transparent; }
.bw-page-banner { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(120deg, rgba(232,245,250,.92), rgba(255,250,240,.9) 50%, rgba(255,240,209,.92)); }
.bw-page-banner::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .5; background: radial-gradient(circle at 10% 50%, rgba(248,199,72,.55) 0 2px, transparent 3px) 0 0 / 31px 31px, radial-gradient(circle at 88% 28%, rgba(93,143,73,.25) 0 5px, transparent 6px) 0 0 / 55px 55px; }
.bw-page-banner::after, .bw-footer::before { content: ""; position: absolute; z-index: 1; right: 0; bottom: -1px; left: 0; height: 34px; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 42C180 87 300 0 480 42S780 87 960 42s300-42 480 0v48H0z' fill='%23fffaf0'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat; }
.bw-front-page .bw-page-banner { display: none; }
.wp-block-navigation__responsive-container-open { padding: .65rem; border-radius: .5rem; }
.wp-block-navigation-item__content { position: relative; padding: .45rem .15rem; text-decoration: none; transition: color .22s ease, transform .22s ease; }
.wp-block-navigation-item__content::after { content: ""; position: absolute; right: .1rem; bottom: .2rem; left: .1rem; height: 3px; border-radius: 99px; background: var(--wp--preset--color--coral); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.wp-block-navigation-item__content:hover, .wp-block-navigation-item__content:focus-visible, .current-menu-item > .wp-block-navigation-item__content { color: var(--bw-accent-text); transform: translateY(-2px); }
.wp-block-navigation-item__content:hover::after, .wp-block-navigation-item__content:focus-visible::after, .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); transform-origin: left; }
.bw-hero { position: relative; overflow: hidden; border-radius: 0 0 3rem 3rem; }
.bw-hero .wp-block-cover__background { opacity: .78; }
.bw-hero .wp-block-cover__image-background { transition: transform 8s cubic-bezier(.2,.7,.2,1); }
.bw-hero:hover .wp-block-cover__image-background { transform: scale(1.045); }
.bw-hero::after { content: ""; position: absolute; z-index: 1; right: 0; bottom: -1px; left: 0; height: 58px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 42C180 87 300 0 480 42S780 87 960 42s300-42 480 0v48H0z' fill='%23fffaf0'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat; }
.bw-hero .wp-block-cover__inner-container { padding-bottom: 4.5rem; }
.bw-kicker { color: var(--wp--preset--color--leaf); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .82rem; }
.bw-card, .is-style-soft-card { height: 100%; border: 1px solid rgba(18,71,90,.09); border-radius: var(--bw-radius); box-shadow: var(--bw-shadow); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.bw-card:hover, .bw-card:focus-within, .is-style-soft-card:hover, .is-style-soft-card:focus-within { transform: translateY(-6px); border-color: rgba(244,126,99,.55); box-shadow: 0 18px 36px rgba(18,71,90,.16); }
.bw-icon { display: inline-grid; place-items: center; width: 3.1rem; height: 3.1rem; border-radius: 50%; background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); font-size: 1.5rem; transition: transform .3s ease, background-color .3s ease; }
.bw-card:hover .bw-icon, .bw-card:focus-within .bw-icon { transform: rotate(12deg) scale(1.08); background: var(--wp--preset--color--coral); }
.bw-news .wp-block-post-template { gap: 1.5rem; }
.bw-news .wp-block-post { background: #fff; border-radius: var(--bw-radius); padding: 1.5rem; box-shadow: var(--bw-shadow); }
.bw-news .wp-block-post-featured-image { overflow: hidden; border-radius: 1rem; }
.bw-news .wp-block-post-featured-image img { border-radius: 1rem; aspect-ratio: 16/9; object-fit: cover; transition: transform .45s ease; }
.wp-block-post:hover .wp-block-post-featured-image img, .wp-block-post:focus-within .wp-block-post-featured-image img { transform: scale(1.05); }
.bw-group-card { border-top: 7px solid var(--wp--preset--color--sun); }
.bw-group-card:nth-child(2n) { border-color: var(--wp--preset--color--coral); }
.bw-group-card:nth-child(3n) { border-color: var(--wp--preset--color--leaf); }
.bw-footer { position: relative; overflow: hidden; margin-top: 2.5rem; }
.bw-footer::before { top: -1px; bottom: auto; transform: rotate(180deg); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 42C180 87 300 0 480 42S780 87 960 42s300-42 480 0v48H0z' fill='%23fffaf0'/%3E%3C/svg%3E"); }
.bw-footer a { color: inherit; }
.wp-block-button__link { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.wp-block-button__link:hover, .wp-block-button__link:focus-visible { transform: translateY(-3px); box-shadow: 0 8px 18px rgba(18,71,90,.2); }
.wp-block-button.is-style-sunny .wp-block-button__link { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); }
.bw-reveal { opacity: 0; transform: translateY(24px); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1); }
.bw-reveal.is-visible { opacity: 1; transform: translateY(0); }
.screen-reader-text:focus { background: #fff; color: #12475a; outline: 3px solid #12475a; }
:focus-visible { outline: 3px solid var(--wp--preset--color--ink); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } .bw-reveal { opacity: 1; transform: none; } }
@media (max-width: 600px) { body { background-attachment: scroll; } .bw-hero { border-radius: 0 0 2rem 2rem; } .bw-hero .wp-block-cover__inner-container { padding-bottom: 3rem; } .bw-page-banner { padding-right: 1.25rem; padding-left: 1.25rem; } }
