@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--plum:#70235f;--plum-deep:#47133f;--rose:#e878aa;--rose-pale:#fff0f7;--lilac:#f6edf7;--ink:#211822;--muted:#6e6470;--white:#fff;--paper:#fff;--line:#eadfe9;--shadow:0 18px 50px rgba(70,19,63,.10);--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.review-bar{padding:8px 16px;text-align:center;background:var(--plum-deep);color:#fff;font-size:.69rem;letter-spacing:.13em;text-transform:uppercase}.topline{background:var(--rose-pale);color:var(--plum-deep);font-size:.76rem}.topline .wrap{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:245px}.brand img{width:60px;height:auto;max-height:58px;object-fit:contain}.brand b{font:800 .96rem/1.16 var(--display);letter-spacing:-.035em}.brand small{display:block;margin-top:5px;color:var(--plum);font-size:.59rem;letter-spacing:.16em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:24px;font-size:.83rem;font-weight:700;color:#514650}.nav-links a{padding:10px 0;border-bottom:2px solid transparent;transition:color .2s,border .2s}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--plum);border-color:var(--rose)}.nav-links .nav-button{padding:11px 17px;border:0;border-radius:6px;background:var(--plum);color:#fff}.nav-links .nav-button:hover{background:var(--plum-deep)}.menu-toggle{display:none;border:0;background:var(--rose-pale);color:var(--plum);padding:9px 12px;border-radius:6px;font-weight:700}.eyebrow{display:inline-flex;gap:9px;align-items:center;color:var(--plum);font-size:.72rem;letter-spacing:.15em;font-weight:800;text-transform:uppercase}.eyebrow:before{content:'';width:22px;height:2px;background:var(--rose)}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;line-height:1.1;margin:0 0 18px}h1{font-size:clamp(2.8rem,6.4vw,5.7rem);font-weight:800}h2{font-size:clamp(2.1rem,4vw,3.5rem);font-weight:800}h3{font-size:1.32rem;font-weight:800}p{margin:0 0 16px;color:var(--muted)}.lead{max-width:680px;font-size:1.1rem;line-height:1.8}.section{padding:88px 0}.section-sm{padding:62px 0}.section-tint{background:var(--rose-pale)}.section-lilac{background:var(--lilac)}.section-plum{background:var(--plum-deep);color:#fff}.section-plum p{color:#eadbe9}.section-head{max-width:720px;margin-bottom:38px}.section-head p{font-size:1.02rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border:1px solid var(--plum);border-radius:6px;background:var(--plum);color:#fff;font-weight:700;font-size:.87rem;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);background:var(--plum-deep);box-shadow:0 10px 24px #47133f21}.btn-light{background:#fff;color:var(--plum);border-color:#fff}.btn-light:hover{background:var(--rose-pale)}.btn-ghost{background:transparent;color:var(--plum)}.btn-ghost:hover{background:var(--rose-pale)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:24px;transition:transform .25s,box-shadow .25s,border-color .25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#e2c5d9}.card p:last-child{margin-bottom:0}.card-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border-radius:9px;background:var(--rose-pale);color:var(--plum);font-size:1.5rem}.card-meta{color:var(--plum);font-weight:800;font-size:.8rem;letter-spacing:.05em}.picture{border-radius:10px;overflow:hidden;background:var(--lilac);border:1px solid var(--line)}.picture img{width:100%;height:auto}.photo-caption{font-size:.78rem;padding:10px 13px;background:white;color:var(--muted)}.quote{padding:8px 0 8px 22px;border-left:3px solid var(--rose);font:600 1.2rem/1.55 var(--display);color:var(--plum-deep)}.page-hero{padding:62px 0 54px;background:var(--plum);color:#fff;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;right:-95px;top:-165px;width:420px;height:420px;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff06}.page-hero .wrap{position:relative;z-index:1}.page-hero .eyebrow{color:#ffd9e9}.page-hero h1{max-width:850px;font-size:clamp(2.7rem,5.7vw,4.8rem);margin:16px 0}.page-hero p{color:#f0e4ef;max-width:720px;font-size:1.05rem}.home-hero{padding:74px 0;background:linear-gradient(112deg,var(--rose-pale),#fff 62%);overflow:hidden}.home-hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:48px;align-items:center}.home-hero h1{max-width:690px;margin:18px 0}.home-hero h1 span{color:var(--plum)}.home-photo{max-width:510px;margin-left:auto;transform:rotate(1deg);box-shadow:var(--shadow);border:7px solid white}.home-photo img{width:100%;height:auto}.info-strip{border-block:1px solid var(--line);background:white}.info-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.info-cell{padding:22px 25px;border-right:1px solid var(--line)}.info-cell:first-child{padding-left:0}.info-cell:last-child{border:0}.info-cell b{display:block;color:var(--plum);font:800 .86rem var(--display)}.info-cell span{font-size:.82rem;color:var(--muted)}.service-feature{display:flex;flex-direction:column;min-height:100%;}.service-feature .actions{margin-top:auto;padding-top:12px}.service-feature .card-icon{background:var(--plum);color:white}.service-feature:nth-child(2) .card-icon{background:var(--rose);color:var(--plum-deep)}.service-feature:nth-child(3) .card-icon{background:#e9d8ec;color:var(--plum)}.flyer{max-width:440px;margin:auto;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.flyer img{width:100%;height:auto}.portrait{max-width:100%;margin:0 0 18px;border-radius:9px;overflow:hidden;background:var(--rose-pale)}.portrait img{width:100%;height:auto}.leader-card{padding:0;overflow:hidden}.leader-card .leader-copy{padding:22px}.leader-card .role{color:var(--plum);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.callout{padding:34px;border-radius:10px;background:var(--plum);color:white}.callout p{color:#eee2ed}.callout h2,.callout h3{color:white}.event-item{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.event-date{min-width:62px;height:64px;display:grid;align-content:center;text-align:center;border-radius:8px;background:var(--rose-pale);color:var(--plum);font-weight:800;line-height:1.15}.event-date small{font-size:.61rem;letter-spacing:.1em}.gallery-grid{columns:3 220px;column-gap:16px}.gallery-item{break-inside:avoid;margin:0 0 16px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.gallery-item img{width:100%;height:auto}.gallery-item figcaption{padding:10px 12px;font-size:.79rem;color:var(--muted)}.contact-box{padding:27px;border:1px solid var(--line);border-radius:10px}.contact-box b{display:block;color:var(--plum);margin-bottom:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:.84rem;color:var(--plum-deep)}.field input,.field textarea{width:100%;border:1px solid #d9cbd9;border-radius:6px;padding:12px;background:#fff}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus{outline:3px solid #e878aa55;border-color:var(--plum)}.footer{background:#251524;color:white;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:42px}.footer p,.footer a{color:#ded2df;font-size:.85rem}.footer h3{font-size:1rem}.footer-logo{display:flex;gap:12px;align-items:center;margin-bottom:16px}.footer-logo img{width:54px;height:auto;background:white;border-radius:6px}.footer-logo b{font:800 .86rem var(--display)}.footer-links{display:grid;gap:8px}.footer-bottom{border-top:1px solid #ffffff25;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#cabbc9;font-size:.73rem}.review-note{background:var(--rose-pale);padding:12px 16px;border-left:3px solid var(--rose);font-size:.8rem;color:var(--plum-deep)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}.local-badge{display:inline-block;padding:5px 9px;border-radius:4px;background:#fff0f7;color:var(--plum);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.admin-shell{display:grid;grid-template-columns:230px 1fr;gap:28px}.admin-nav{display:grid;align-content:start;gap:6px}.admin-nav a{padding:10px 13px;border-radius:5px;font-weight:700;color:var(--plum)}.admin-nav a:hover{background:var(--rose-pale)}.admin-card{padding:24px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:18px}.admin-card h2{font-size:1.35rem}.admin-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-status{min-height:22px;color:var(--plum);font-size:.82rem}.hidden{display:none!important}
@keyframes gentle-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-drift{from{transform:scale(1) translateY(0)}to{transform:scale(1.018) translateY(-3px)}}.home-hero .eyebrow,.home-hero h1,.home-hero .lead,.home-hero .actions{animation:gentle-in .6s both}.home-hero h1{animation-delay:.08s}.home-hero .lead{animation-delay:.16s}.home-hero .actions{animation-delay:.24s}.home-photo{animation:gentle-in .8s .12s both}.home-photo img{animation:hero-drift 20s ease-in-out 1s infinite alternate;will-change:transform}.page-hero .wrap{animation:gentle-in .55s both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:900px){.nav-links{gap:14px;font-size:.78rem}.brand{min-width:190px}.brand img{width:50px}.home-hero-grid{gap:28px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{gap:14px}.footer-grid{gap:25px}}
@media(max-width:720px){.wrap{width:min(var(--max),calc(100% - 32px))}.topline .wrap{justify-content:center}.topline .topline-right{display:none}.nav{min-height:72px}.brand{min-width:0}.brand img{width:46px;max-height:48px}.brand b{font-size:.83rem}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 20px 18px;background:white;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:4px}.nav-links.open{display:flex}.nav-links a{padding:11px 8px}.nav-links .nav-button{text-align:center;margin-top:5px}.home-hero{padding:47px 0}.home-hero-grid,.grid-2{grid-template-columns:1fr;gap:28px}.home-hero h1{font-size:clamp(2.8rem,12vw,4.2rem)}.home-photo{max-width:450px;margin:0 auto;transform:none}.section{padding:64px 0}.section-sm{padding:46px 0}.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.info-strip .wrap{grid-template-columns:1fr}.info-cell,.info-cell:first-child{padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.info-cell:last-child{border:0}.page-hero{padding:48px 0 40px}.page-hero h1{font-size:clamp(2.5rem,11vw,4rem)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.admin-shell{grid-template-columns:1fr}.admin-nav{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:420px){.grid-4{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.actions .btn{width:100%}.brand small{font-size:.52rem}}

[hidden]{display:none!important}
.home-cell-grid{margin-top:28px}.home-cell-callout{margin-top:24px}
