:root{--green:#ff5b62;--green-hover:#d84550;--green-shadow:#b93243;--dark-blue:#39235d;--blue:#9e7bc6;--cream:#fffdfd;--cream-deep:#f7f0fa;--gray-text:#50475c;--gray-light:#746b7d;--border-color:#e7dff0;--nav-text:#786d83;--orange:#f6b25d;--golden:#f4c56d;--surface:#fff;--header-background:rgb(255 253 253/92%);--hero-start:#f6edf8;--hero-end:#fffdfd;--hero-art-background:#e6d9f0;--hero-art-orb:#f9dfe4;--hero-arch-background:#39235d;--offer-background:#fff8f7;--benefits-background:#39235d;--gallery-tall:#ece0f4;--gallery-warm:#f9d2cf;--gallery-blue:#d8c6e6;--gallery-wide:#f4d5a9;--contact-background:#fff0f2;--footer-background:#39235d;--brand-filter:none;color:var(--gray-text);background:var(--cream);font-family:var(--font-nunito),"DIN Round Pro",-apple-system,BlinkMacSystemFont,sans-serif}:root[data-scroll-end]{background:var(--footer-background)}:root[data-variant=ocean]{--green:#00a99d;--green-hover:#007d78;--green-shadow:#00635f;--dark-blue:#143a59;--blue:#4e9fd1;--cream:#fbfefd;--cream-deep:#e9f6f6;--gray-text:#385168;--gray-light:#62798e;--border-color:#cce5e5;--nav-text:#5b7588;--golden:#f2bd62;--surface:#fff;--header-background:rgb(251 254 253/92%);--hero-start:#e1f6f5;--hero-end:#fbfefd;--hero-art-background:#bfe8e5;--hero-art-orb:#d7eff6;--hero-arch-background:#143a59;--offer-background:#eef9f7;--benefits-background:#143a59;--gallery-tall:#c7eaeb;--gallery-warm:#d4eef6;--gallery-blue:#b9d8ed;--gallery-wide:#f3d99d;--contact-background:#e8f7f6;--footer-background:#143a59;--brand-filter:hue-rotate(125deg) saturate(1.1)}:root[data-variant=sunrise]{--green:#d96846;--green-hover:#ac472f;--green-shadow:#893523;--dark-blue:#61332e;--blue:#c16b53;--cream:#fffdf8;--cream-deep:#fff1e7;--gray-text:#654a42;--gray-light:#856a61;--border-color:#f0d9cc;--nav-text:#8d7065;--golden:#e8ae4e;--surface:var(--surface);--header-background:rgb(255 253 248/92%);--hero-start:#ffe5d7;--hero-end:#fffdf8;--hero-art-background:#f6c9b3;--hero-art-orb:#ffe9ba;--hero-arch-background:#61332e;--offer-background:#fff4dc;--benefits-background:#61332e;--gallery-tall:#f7d1ba;--gallery-warm:#f7b39f;--gallery-blue:#ebc8b4;--gallery-wide:#f5d271;--contact-background:#fff0e6;--footer-background:#61332e;--brand-filter:hue-rotate(320deg) saturate(0.9)}:root[data-mode=dark]{--cream:#181421;--cream-deep:#221b2e;--gray-text:#ede7f4;--gray-light:#c9c0d4;--border-color:#40344f;--nav-text:#c3b9ce;--dark-blue:#f3ecfa;--surface:#251e31;--header-background:rgb(24 20 33/92%);--hero-start:#2b213b;--hero-end:#181421;--hero-art-background:#3c2f50;--hero-art-orb:#5a3e59;--hero-arch-background:#100c17;--offer-background:#211a2c;--benefits-background:#100c17;--gallery-tall:#493d5d;--gallery-warm:#674451;--gallery-blue:#3c4965;--gallery-wide:#62503a;--contact-background:#2a1d2a;--footer-background:#100c17}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}body{min-height:100vh;margin:0;background:var(--cream);transition:background-color .28s ease,color .28s ease}a{color:inherit}button,input,select,textarea{font:inherit}.site-shell{width:min(100% - 3rem,74rem);margin:0 auto}.skip-link{position:fixed;top:.75rem;left:50%;z-index:10;padding:.75rem 1rem;color:var(--dark-blue);background:#fff;border-radius:.5rem;transform:translate(-50%,-200%)}.skip-link:focus{transform:translate(-50%)}.site-header{position:sticky;top:0;z-index:5;background:var(--header-background);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color .28s ease,border-color .28s ease}.navigation{display:flex;align-items:center;justify-content:space-between;min-height:4.5rem;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--dark-blue);text-decoration:none}.brand-logo{width:14.25rem;height:auto;filter:var(--brand-filter)}.footer-brand-name{color:#fff;font-size:1.45rem;letter-spacing:-.07em}.footer-brand-name,h1,h2,h3{font-family:var(--font-nunito),"DIN Round Pro",sans-serif}.navigation nav{display:flex;align-items:center;gap:1.35rem}.mobile-navigation{display:none;position:relative}.header-action,.navigation nav a{color:var(--nav-text);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.navigation nav a:focus-visible,.navigation nav a:hover{color:var(--green-hover)}.header-action{padding:.7rem .9rem;color:var(--green-hover);background:color-mix(in srgb,var(--green) 10%,transparent);border-radius:.65rem}.hero{overflow:hidden;background:linear-gradient(145deg,var(--hero-start) 0,var(--hero-end) 61%)}.hero-copy>*{animation:hero-copy-enter .76s cubic-bezier(.2,.8,.2,1) both}.hero-copy .eyebrow{animation-delay:80ms}.hero-copy h1{animation-delay:.15s}.hero-copy .hero-intro{animation-delay:.24s}.hero-copy .hero-actions{animation-delay:.33s}.hero-copy .hero-note{animation-delay:.42s}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,.8fr);align-items:center;min-height:38rem;gap:3rem;padding-block:4.5rem}.eyebrow{margin:0 0 1rem;color:var(--green-hover);font-size:.69rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--dark-blue);letter-spacing:-.055em}h1{max-width:12ch;margin-bottom:1.35rem;font-size:clamp(3rem,6.2vw,5.4rem);line-height:.93}h1 em{color:var(--green);font-family:Georgia,Times New Roman,serif;font-weight:400}h2{max-width:15ch;margin-bottom:1.25rem;font-size:clamp(2.1rem,4vw,3.45rem);line-height:.98}.benefits-intro,.contact-section p,.hero-intro,.intro-copy p{max-width:36rem;color:var(--gray-light);font-size:1.05rem;line-height:1.68}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.75rem 1.25rem;border:0;border-radius:.75rem;font-size:.79rem;font-weight:900;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.button-primary{color:#fff;background:var(--green);box-shadow:0 4px 0 var(--green-shadow)}.button-primary:focus-visible:not(:disabled),.button-primary:hover:not(:disabled){background:var(--green-hover)}.button-primary:active:not(:disabled){box-shadow:none;transform:translateY(4px)}.text-link{display:inline-flex;gap:.45rem;color:var(--green-hover);font-size:.79rem;font-weight:900;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.text-link:focus-visible,.text-link:hover{color:var(--dark-blue)}.hero-note{margin:2.3rem 0 0;color:var(--nav-text);font-size:.75rem;font-weight:700}.hero-art{position:relative;min-height:26rem;overflow:hidden;background:var(--hero-art-background);border-radius:9.5rem 9.5rem 2.2rem 2.2rem;box-shadow:0 1.25rem 3.5rem rgb(16 15 62/9%);animation:hero-art-enter .9s cubic-bezier(.2,.8,.2,1) .16s both;transition:background-color .28s ease}.hero-art:after{right:-3rem;bottom:-4.5rem;width:15rem;height:15rem;background:var(--hero-art-orb);content:""}.hero-art:after,.hero-sun{position:absolute;border-radius:50%}.hero-sun{top:3rem;right:3rem;width:5.5rem;height:5.5rem;background:var(--green);animation:soft-pulse 4s ease-in-out infinite}.hero-arch{position:absolute;bottom:-4rem;left:50%;width:18rem;height:25rem;border-radius:9rem 9rem 0 0;transform:translateX(-50%)}.hero-arch-back{background:var(--hero-arch-background)}.hero-arch-front{bottom:-6rem;width:13rem;height:21rem;background:var(--green);animation:arch-float 6s ease-in-out infinite}.note{position:absolute;z-index:1;display:grid;width:2.4rem;height:2.4rem;place-items:center;color:var(--dark-blue);background:#fff;border-radius:50%;font-family:Georgia,Times New Roman,serif;font-size:2.5rem;line-height:0;animation:note-float 4.5s ease-in-out infinite}.note-one{top:6rem;left:2.1rem;animation-delay:-1.2s}.note-two{top:12.5rem;right:2.6rem;animation-delay:-2.5s}.note-three{top:15.2rem;left:3.6rem;animation-delay:-3.3s}.hero-art p{position:absolute;z-index:2;right:1.7rem;bottom:1.6rem;max-width:10rem;margin:0;color:var(--dark-blue);font-size:.83rem;font-weight:900;line-height:1.2;text-align:right}.identity-card{position:absolute;z-index:3;top:3.4rem;left:50%;width:6.25rem;height:auto;border:.35rem solid #fff;border-radius:.7rem;box-shadow:0 1rem 2.2rem rgb(57 35 93/20%);filter:var(--brand-filter);transform:translateX(-50%) rotate(4deg);animation:card-float 5.5s ease-in-out .7s infinite}.blog-section,.contact-section,.gallery-section,.intro-section,.offer-section{padding-block:7rem}.intro-section{background:linear-gradient(180deg,var(--cream-deep),var(--cream));border-top:1px solid var(--border-color)}.benefits-grid,.intro-grid{display:grid;grid-template-columns:minmax(16rem,.83fr) minmax(0,1.17fr);align-items:center;gap:clamp(2.5rem,7vw,7rem)}.contact-grid{display:grid;max-width:48rem;gap:2rem}.portrait{position:relative;min-height:28rem;margin:0;overflow:hidden;background:var(--dark-blue);border-radius:7rem 7rem 1.5rem 1.5rem}.portrait img{object-fit:cover;object-position:center}.portrait:after{position:absolute;right:-3rem;bottom:-3rem;width:10rem;height:10rem;background:var(--golden);border-radius:50%;content:""}.portrait figcaption{position:absolute;z-index:1;bottom:1.5rem;left:1.5rem;margin:0;color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.intro-copy p+p{margin-top:1rem}.intro-copy .text-link{margin-top:.7rem}.biography-details{margin-top:1.25rem}.biography-details summary{display:inline-flex;align-items:center;gap:.6rem;color:var(--green-hover);cursor:pointer;font-size:.78rem;font-weight:900;letter-spacing:.08em;list-style:none;text-transform:uppercase}.biography-details summary::-webkit-details-marker{display:none}.biography-details summary span{display:inline-block;font-size:1.2rem;transition:transform .18s ease}.biography-details[open] summary span{transform:rotate(180deg)}.biography-details>div{padding-top:.8rem}.testimonials-section{padding-block:6rem;background:var(--cream-deep)}.testimonials-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,8vw,7rem)}.testimonials-grid h2{max-width:30rem;margin-bottom:1rem}.testimonials-grid>div>p:not(.eyebrow){max-width:29rem;color:var(--gray-light);line-height:1.7}.testimonials-empty{position:relative;min-height:14rem;padding:2.2rem;color:var(--dark-blue);background:var(--surface);border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 1.2rem 2.8rem rgb(57 35 93/8%)}.testimonials-empty>span{display:block;height:2.2rem;color:var(--green);font-family:Georgia,serif;font-size:4rem;line-height:1}.testimonials-empty p{max-width:22rem;margin:1.2rem 0 0;font-size:1.05rem;font-weight:800;line-height:1.55}.offer-section{background:linear-gradient(180deg,var(--cream-deep),var(--offer-background))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.8rem}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:20rem;margin:0 0 .3rem;color:var(--gray-light);font-size:.95rem;line-height:1.55}.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border-color);border-left:1px solid var(--border-color)}.offer-card{display:flex;min-height:17.5rem;flex-direction:column;padding:1.6rem;background:color-mix(in srgb,var(--surface) 76%,transparent);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);transition:background-color .22s ease,box-shadow .22s ease,transform .22s ease}.offer-card-heading{display:flex;align-items:center;justify-content:center;min-height:3.6rem;margin:0 0 .4rem}.offer-card h3{margin:0;color:var(--dark-blue);font-size:1.45rem;letter-spacing:-.04em;line-height:1.1;text-align:center}.offer-card .offer-card-nowrap{white-space:nowrap}.offer-card .offer-subtitle{margin:0 0 .55rem;color:var(--dark-blue);font-size:.78rem;font-weight:900;line-height:1.35;text-align:center}.offer-card .offer-audience{margin:0 0 1rem;color:var(--green-hover);font-size:.66rem;font-weight:900;letter-spacing:.06em;text-align:center;text-transform:uppercase}.offer-card p{margin-bottom:1.3rem;color:var(--gray-light);font-size:.88rem;line-height:1.55}.offer-card a{margin-top:auto;color:var(--green-hover);font-size:.71rem;font-weight:900;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.offer-card>p{text-align:justify}.offer-card:hover{background:var(--surface);box-shadow:0 1rem 2rem rgb(57 35 93/10%);transform:translateY(-.4rem)}.benefits-section{padding-block:7rem;background:var(--benefits-background)}.benefits-section .eyebrow{color:#ffabb0}.benefits-section h2{color:#fff}.benefits-intro{color:rgb(255 255 255/62%)}.benefits-section ul{margin:0;padding:0;list-style:none;border-top:1px solid rgb(255 255 255/14%)}.benefits-section li{display:flex;gap:1rem;padding:1.2rem 0;color:#fff;border-bottom:1px solid rgb(255 255 255/14%);font-size:1rem;font-weight:800}.benefits-section li span{color:var(--green);font-size:1.3rem;line-height:.9}.compact-heading{align-items:center}.gallery-grid{display:grid;grid-template-columns:1.05fr .95fr 1.15fr;grid-template-rows:11rem 11rem;gap:1rem}.gallery-tile{position:relative;min-height:9rem;overflow:hidden;background:#f8ce79;border-radius:1.25rem;transition:box-shadow .24s ease,transform .24s ease,background-color .28s ease}.gallery-tile img{object-fit:cover;transition:transform .28s ease}.gallery-tile:hover{box-shadow:0 1rem 2rem rgb(57 35 93/12%);transform:translateY(-.35rem) rotate(-.5deg)}.gallery-tile:hover img{transform:scale(1.04)}.gallery-tile:after{position:absolute;width:8rem;height:8rem;border:1.5rem solid rgb(255 253 248/66%);border-radius:50%;content:""}.gallery-section .gallery-tile:after{content:none}.gallery-tile span{position:absolute;right:1rem;bottom:.75rem;z-index:1;color:rgb(16 15 62/55%);font-size:.68rem;font-weight:900;letter-spacing:.1em}.gallery-tile-tall{grid-row:span 2;background:var(--gallery-tall)}.gallery-tile-tall:after{top:2rem;left:-2.5rem}.gallery-tile-warm{background:var(--gallery-warm)}.gallery-tile-warm:after{right:-1.5rem;bottom:-3rem}.gallery-tile-blue{background:var(--gallery-blue)}.gallery-tile-blue:after{top:-3rem;left:1rem}.gallery-tile-wide{grid-column:span 2;background:var(--gallery-wide)}.gallery-tile-wide:after{right:18%;bottom:-4rem}.gallery-tile{text-decoration:none}.gallery-page{padding-block:4rem}.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.gallery-page h1{color:var(--dark-blue);font-size:clamp(2.5rem,7vw,4.5rem)}.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-page-tile{position:relative;min-height:16rem;overflow:hidden;border-radius:1rem}.gallery-page-tile img{object-fit:cover}.gallery-empty{padding:2rem 0;color:var(--gray-light)}.gallery-lightbox{width:min(90rem,calc(100% - 2rem));padding:0;background:#111;border:0}.gallery-lightbox::backdrop{background:rgb(0 0 0/82%)}.gallery-lightbox figure{position:relative;margin:0;touch-action:pan-y pinch-zoom}.gallery-lightbox figure>img{display:block;width:100%;max-height:80vh;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.gallery-lightbox figcaption{padding:1rem 4rem;color:#fff;text-align:center}.gallery-lightbox button{position:absolute;bottom:.75rem;width:2.6rem;height:2.6rem;color:#fff;background:rgb(0 0 0/60%);border:1px solid rgb(255 255 255/40%);border-radius:50%;cursor:pointer;font-size:1.3rem}.gallery-lightbox button[aria-label^=Zamknij]{top:.75rem;right:.75rem;bottom:auto}.gallery-lightbox button[aria-label^=Poprzednie]{left:1rem}.gallery-lightbox button[aria-label^="Następne"]{right:1rem}@media (max-width:760px){.gallery-page-grid{grid-template-columns:repeat(2,1fr)}}.blog-section{background:var(--surface)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-color);border:1px solid var(--border-color)}.article-card{display:flex;width:100%;min-height:14rem;flex-direction:column;padding:1.7rem;text-align:left;background:var(--surface);border:0;cursor:pointer;transition:background-color .28s ease,box-shadow .22s ease,transform .22s ease}.article-card:hover{box-shadow:0 1rem 2rem rgb(57 35 93/10%);transform:translateY(-.35rem)}.article-card p{margin-bottom:1.2rem;color:var(--green-hover);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.article-card h3{margin-bottom:auto;color:var(--dark-blue);font-size:1.25rem;letter-spacing:-.035em;line-height:1.12}.article-card span{padding-top:1rem;color:var(--gray-light);border-top:1px solid var(--border-color);font-size:.72rem;font-weight:800}.article-empty-state{margin:0;padding:2rem;color:var(--gray-light);background:var(--surface);border:1px solid var(--border-color)}.article-modal{width:min(48rem,calc(100% - 2rem));max-height:min(48rem,calc(100dvh - 2rem));padding:0;color:var(--gray-text);background:var(--surface);border:0;border-radius:1.25rem;box-shadow:0 2rem 5rem rgb(16 15 62/30%)}.article-modal::backdrop{background:rgb(16 15 62/66%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.article-modal article{overflow:auto;max-height:inherit}.article-modal header{position:relative;padding:clamp(1.5rem,5vw,3rem) clamp(1.5rem,7vw,4rem) 1.5rem;background:var(--cream)}.article-modal header p{margin:0 0 1rem;color:var(--green-hover);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.article-modal h2{max-width:36rem;margin:0;color:var(--dark-blue);font-size:clamp(2rem,6vw,3.4rem);line-height:1}.article-modal time{display:block;margin-top:1rem;color:var(--gray-light);font-size:.8rem;font-weight:700}.article-modal header button{position:absolute;top:1rem;right:1rem;display:grid;width:2.6rem;height:2.6rem;place-items:center;color:var(--dark-blue);background:var(--surface);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;font-size:1.6rem}.article-modal img{display:block;width:100%;max-height:26rem;object-fit:cover}.article-markdown{padding:clamp(1.5rem,5vw,3rem) clamp(1.5rem,7vw,4rem) 3rem;line-height:1.7}.article-markdown>:first-child{margin-top:0}.article-markdown a{color:var(--green-hover)}.article-page{min-height:100vh;padding-block:clamp(3rem,8vw,7rem);background:linear-gradient(180deg,var(--cream-deep),var(--cream) 30rem)}.article-shell{max-width:54rem}.article-back-link{display:inline-block;margin-bottom:clamp(2.5rem,7vw,5rem)}.article-header{max-width:46rem}.article-header h1{max-width:48rem;margin:.6rem 0 1.4rem;color:var(--dark-blue);font-size:clamp(2.7rem,7vw,5rem);letter-spacing:-.06em;line-height:.98}.article-lede{max-width:42rem;margin:0 0 1.4rem;color:var(--gray-text);font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;line-height:1.55}.article-header time{color:var(--gray-light);font-size:.85rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.article-cover{margin:clamp(2rem,6vw,4rem) 0 0;overflow:hidden;border-radius:1.5rem;box-shadow:0 1.5rem 3.5rem rgb(57 35 93/14%)}.article-cover img{display:block;width:100%;height:auto;max-height:36rem;object-fit:cover}.article-body{max-width:46rem;margin:clamp(2rem,6vw,4rem) auto 0;padding:0;color:var(--gray-text);font-size:1.06rem;line-height:1.85}.article-body h2,.article-body h3{margin-top:2.4em;color:var(--dark-blue);line-height:1.15}.article-body blockquote{margin:2rem 0;padding:1rem 1.25rem;color:var(--dark-blue);background:var(--cream-deep);border-left:.3rem solid var(--green);font-weight:800}.article-body ol,.article-body ul{padding-left:1.3rem}.article-body img{max-width:100%;height:auto}.article-body pre{max-width:100%;overflow-x:auto;padding:1rem;background:var(--cream-deep);border-radius:.6rem}.article-body code{overflow-wrap:anywhere}.article-footer{max-width:46rem;margin:3rem auto 0;padding-top:2rem;border-top:1px solid var(--border-color)}.public-modal{width:min(42rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;padding:clamp(2rem,6vw,4rem);color:var(--gray-text);background:var(--surface);border:0;border-radius:1.25rem;box-shadow:0 2rem 5rem rgb(16 15 62/30%)}.public-modal::backdrop{background:rgb(16 15 62/66%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.public-modal h2{margin-top:0;color:var(--dark-blue);font-size:clamp(2rem,6vw,3.5rem);line-height:1}.public-modal p{line-height:1.7}.public-modal-close{position:absolute;top:1rem;right:1rem;width:2.6rem;height:2.6rem;color:var(--dark-blue);background:var(--cream);border:0;border-radius:50%;cursor:pointer;font-size:1.6rem}.public-modal-list{display:grid;gap:.8rem;margin:1.5rem 0 0;padding:0;list-style:none}.public-modal-list li{display:grid;gap:.3rem;padding:1rem;background:var(--cream);border-radius:.75rem}.public-modal-list a,.public-modal-list strong{color:var(--dark-blue);font-weight:900}.public-modal-list span{color:var(--gray-light);font-size:.9rem;line-height:1.45}.public-modal .contact-details,.public-modal .contact-form{margin-top:2rem}.offer-modal-form-link{margin:.4rem 0 .2rem;padding:0;background:none;border:0;cursor:pointer;font-family:inherit}.offer-modal-enrollment{margin-top:1.2rem}.offer-modal-enrollment-link{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.75rem 1.25rem;border-radius:.75rem;color:#fff;background:var(--green);box-shadow:0 4px 0 var(--green-shadow);font-size:.79rem;font-weight:900;letter-spacing:.06em;line-height:1.2;text-align:center;text-decoration:none;text-transform:uppercase}.offer-modal-enrollment-link:focus-visible,.offer-modal-enrollment-link:hover{background:var(--green-hover)}.offer-modal-enrollment-link:active{box-shadow:none;transform:translateY(4px)}.offer-modal-copy{display:grid;gap:.9rem}.offer-modal-copy p{margin:0}.contact-section{background:var(--contact-background)}.contact-grid{align-items:start}.contact-details{display:grid;gap:.65rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border-color);border-radius:1rem}.contact-details .eyebrow,.contact-details p{margin-bottom:0}.contact-details .eyebrow{color:var(--green-hover);font-size:.69rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.contact-details-detailed{margin-top:2rem}.contact-details-list{display:grid;gap:.8rem;margin:0}.contact-details-list>div{display:grid;grid-template-columns:minmax(8rem,.55fr) 1fr;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.contact-detail-label,.contact-details-list dt{color:var(--gray-light);font-size:.78rem;font-weight:800}.contact-details-list dd{margin:0;overflow-wrap:anywhere}.contact-email{color:var(--green-hover);font-weight:900}.contact-phone-summary{display:grid;gap:.45rem}.phone-reveal{display:grid;justify-items:start;gap:.6rem}.phone-reveal-placeholder{color:var(--gray-light);font-size:.86rem}.contact-phone-reveal-button{min-height:2.5rem;padding:.6rem .9rem;color:var(--green-hover);background:var(--cream);border:1px solid var(--border-color);box-shadow:none;cursor:pointer;font-size:.72rem}.contact-phone-reveal-button:focus-visible,.contact-phone-reveal-button:hover{color:var(--dark-blue);background:var(--surface)}.contact-details-link{margin-top:.35rem}.contact-phone{color:var(--dark-blue);font-size:1.1rem;font-weight:900;text-decoration:none}.contact-phone:focus-visible,.contact-phone:hover{color:var(--dark-blue);text-decoration:underline;text-underline-offset:.2em}.contact-form-offer-label{color:var(--gray-light);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.contact-form-offer{display:grid;gap:.45rem;padding:.75rem;background:var(--cream);border-radius:.65rem}.contact-form-offer-value{color:var(--dark-blue);font-size:1rem}.contact-form{display:grid;gap:1.15rem;width:100%;max-width:34rem;margin-inline:auto;padding:clamp(1.75rem,4vw,2.75rem);background:var(--surface);border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 1.25rem 2.5rem rgb(16 15 62/6%);transition:background-color .28s ease,box-shadow .28s ease,transform .28s ease}.contact-form:hover{box-shadow:0 1.5rem 3rem rgb(57 35 93/12%);transform:translateY(-.2rem)}.contact-form fieldset{display:grid;min-width:0;gap:1rem;margin:0;padding:0;border:0}.contact-form>fieldset>fieldset{display:block;padding:1.1rem;background:color-mix(in srgb,var(--cream) 60%,var(--surface));border:1px solid var(--border-color);border-radius:.85rem}.contact-form>fieldset>fieldset legend{float:left;width:100%;margin:0 0 .75rem;padding:0;line-height:1.4}.contact-form>fieldset>fieldset .contact-form-consent{clear:both;margin-top:.6rem}.contact-form>fieldset>fieldset .contact-form-consent:first-of-type{margin-top:0}.contact-form>fieldset>fieldset>.contact-form-address-row,.contact-form>fieldset>fieldset>label{clear:both}.contact-form-address-fieldset legend{margin-bottom:0}.contact-form-address-fieldset>.contact-form-address-row,.contact-form-address-fieldset>label{margin-top:.9rem}.contact-form-field{display:grid;gap:.45rem}.contact-form legend{padding:0;color:var(--dark-blue);font-size:.9rem;font-weight:900}.contact-form label{display:grid;gap:.45rem;color:var(--dark-blue);font-size:.76rem;font-weight:900}.contact-form-address-row{display:grid;gap:.9rem}@media (min-width:30rem){.contact-form-address-row{grid-template-columns:1fr 1fr}}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.75rem .85rem;color:var(--gray-text);background:color-mix(in srgb,var(--cream) 88%,var(--surface));border:1px solid var(--border-color);border-radius:.65rem;resize:vertical}.contact-form button:disabled,.contact-form input:disabled,.contact-form select:disabled,.contact-form textarea:disabled{cursor:not-allowed;opacity:.65}.contact-form button[type=submit]{width:100%;margin-top:.35rem;padding-block:.85rem}.contact-form small{color:var(--gray-light);font-size:.72rem;line-height:1.4}.contact-form-popup{position:fixed;z-index:200;top:1.25rem;left:50%;display:flex;align-items:flex-start;gap:.75rem;width:min(92vw,26rem);padding:1rem 1.1rem;border-radius:.75rem;box-shadow:0 .6rem 1.6rem rgb(0 0 0/.22);color:#fff;font-size:.95rem;line-height:1.4;transform:translateX(-50%);animation:contact-form-popup-in .25s ease-out}.contact-form-popup[data-kind=success]{background:#1f9d55}.contact-form-popup[data-kind=error]{background:#c0392b}.contact-form-popup-icon{flex:none;display:grid;width:1.5rem;height:1.5rem;place-items:center;border-radius:50%;background:rgb(255 255 255/.22);font-weight:900}.contact-form-popup p{flex:1 1;margin:0}.contact-form-popup button{flex:none;margin:0;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;font-size:1.25rem;line-height:1}@keyframes contact-form-popup-in{0%{opacity:0;transform:translateX(-50%) translateY(-.5rem)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.contact-form-test-notice{margin:0;padding:.75rem;color:var(--dark-blue);background:color-mix(in srgb,var(--golden) 20%,var(--surface));border-radius:.65rem;font-size:.78rem;line-height:1.4}.contact-form-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.contact-form-consent{display:flex!important;align-items:flex-start;gap:.65rem!important;color:var(--gray-light)!important;font-size:.72rem!important;font-weight:700!important;line-height:1.45}.contact-form-consent input{width:1rem;min-width:1rem;height:1rem;margin-top:.1rem;accent-color:var(--green)}.contact-form-consent a{color:var(--green-hover)}.contact-form-required{color:#d3232f;font-weight:900}.contact-form-required-note{margin:0;color:var(--gray-light);font-size:.72rem;font-weight:700}.contact-form-required-note .contact-form-required{font-size:.85rem}.site-footer{padding-block:2.2rem;color:rgb(255 255 255/56%);background:var(--footer-background)}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand-footer{color:#fff}.footer-content p{margin:0;font-size:.76rem;font-weight:700}.footer-legal-link{color:rgb(255 255 255/78%);font-size:.78rem;font-weight:800;text-decoration:underline;text-underline-offset:.2em}.footer-legal-link:focus-visible,.footer-legal-link:hover{color:#fff}.footer-credit{color:rgb(255 255 255/72%)!important;font-size:.68rem!important;font-weight:600!important}.footer-credit-link{color:rgb(255 255 255/72%);text-decoration:underline;text-underline-offset:.2em}.footer-credit-link:focus-visible,.footer-credit-link:hover{color:#fff}.legal-page{min-height:100vh;padding-block:clamp(3rem,8vw,7rem);background:linear-gradient(180deg,var(--cream-deep),var(--cream) 34rem)}.legal-shell{max-width:58rem}.legal-back-link{margin-bottom:clamp(2.5rem,6vw,4rem)}.legal-actions{margin:-1rem 0 3rem}.legal-content{max-width:52rem;color:var(--gray-text);line-height:1.75}.legal-content h1{max-width:16ch;margin-bottom:1.5rem}.legal-content h2{max-width:none;margin-top:3rem;margin-bottom:.9rem;font-size:clamp(1.55rem,3vw,2.3rem)}.legal-content p{max-width:48rem}.legal-content section+section{border-top:1px solid var(--border-color)}.legal-meta{color:var(--gray-light);font-size:.82rem;font-weight:800}.legal-draft-warning{margin:1.5rem 0;padding:1rem 1.15rem;color:var(--dark-blue);background:color-mix(in srgb,var(--golden) 24%,var(--surface));border:1px solid color-mix(in srgb,var(--golden) 60%,var(--border-color));border-radius:.85rem;font-weight:800}.contact-page{min-height:100vh;padding-block:clamp(1.25rem,3.5vw,2.5rem);background:linear-gradient(145deg,var(--hero-start),var(--cream) 42rem)}.contact-page-shell{max-width:72rem}.contact-page-back{display:inline-block;margin-bottom:clamp(.75rem,2.5vw,1.5rem)}.contact-page-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(20rem,1.18fr);align-items:start;gap:clamp(2rem,7vw,6rem)}.contact-page-single{display:grid;width:min(100%,40rem);margin-inline:auto;justify-items:center;gap:2rem}.contact-page-single .contact-page-intro{justify-items:center;text-align:center}.contact-page-single .contact-page-intro .contact-page-note,.contact-page-single .contact-page-intro h1,.contact-page-single .contact-page-intro>p:not(.eyebrow){margin-inline:auto}.contact-page-single .contact-form,.contact-page-single .contact-page-enroll,.contact-page-single>.contact-details-detailed{width:100%}.contact-page-intro{padding-top:clamp(0rem,3vw,2rem)}.contact-page-intro h1{max-width:14ch;margin:.6rem 0 1.5rem;color:var(--dark-blue);font-size:clamp(2.4rem,5vw,4.6rem);line-height:.98}.contact-page-intro>header>p:not(.eyebrow){max-width:31rem;line-height:1.7}.contact-page-note{color:var(--green-hover);font-size:.82rem;font-weight:800}.contact-page .contact-form{width:100%}.contact-page-enroll{display:grid;align-content:start;gap:1rem;padding:clamp(1.5rem,4vw,2.5rem);background:color-mix(in srgb,var(--cream) 60%,var(--surface));border:1px solid var(--border-color);border-radius:.85rem}.contact-page-enroll h2{margin:0;color:var(--dark-blue);font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:1.2}.contact-page-enroll p{margin:0;line-height:1.7}.error-page{display:grid;min-height:100vh;align-content:center;justify-items:center;gap:1rem;padding:2rem;text-align:center}.error-page h1,.error-page p{margin:0}.error-page p{color:var(--gray-light)}.error-page button{min-height:3rem;padding:.75rem 1.25rem;color:var(--dark-blue);background:var(--surface);border:1px solid var(--border-color);border-radius:.75rem;cursor:pointer;font-weight:900}.legal-details{display:grid;gap:.75rem;margin:1.25rem 0 0}.legal-details div{display:grid;grid-template-columns:minmax(10rem,.45fr) 1fr;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.legal-details dt{color:var(--gray-light);font-weight:800}.legal-details dd{margin:0;overflow-wrap:anywhere}.reveal{--reveal-delay:0ms;opacity:0;transform:var(--reveal-from-transform,none);transition:opacity .72s cubic-bezier(.2,.8,.2,1) var(--reveal-delay),transform .72s cubic-bezier(.2,.8,.2,1) var(--reveal-delay),background-color .22s ease,box-shadow .22s ease;will-change:opacity,transform}.reveal-up{--reveal-from-transform:translateY(2.5rem)}.reveal-left{--reveal-from-transform:translateX(-2.5rem)}.reveal-right{--reveal-from-transform:translateX(2.5rem)}.reveal-scale{--reveal-from-transform:scale(0.92)}.reveal-fade{--reveal-from-transform:none}.reveal[data-revealed=true]{opacity:1;transform:var(--reveal-hover-transform,none);will-change:auto}.reveal.article-card:hover,.reveal.gallery-tile:hover,.reveal.offer-card:hover{--reveal-hover-transform:translateY(-0.4rem)}.reveal.gallery-tile:hover{--reveal-hover-transform:translateY(-0.35rem) rotate(-0.5deg)}@keyframes hero-copy-enter{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes hero-art-enter{0%{opacity:0;transform:translateY(2rem) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes soft-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes arch-float{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-.7rem)}}@keyframes note-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-.8rem) rotate(7deg)}}@keyframes card-float{0%,to{transform:translateX(-50%) translateY(0) rotate(4deg)}50%{transform:translateX(-50%) translateY(-.75rem) rotate(1deg)}}@media (max-width:900px){.benefits-grid,.hero-grid,.intro-grid{grid-template-columns:1fr}.hero-grid{gap:2.5rem}.hero-copy{max-width:40rem}.hero-art{min-height:21rem;max-width:34rem}.portrait{min-height:21rem;max-width:30rem}.offer-grid{grid-template-columns:repeat(2,1fr)}.offer-card{min-height:14rem}.reveal-left,.reveal-right{--reveal-from-transform:translateY(2rem)}.navigation{gap:.55rem}.header-action,.navigation nav{display:none}.mobile-navigation{display:block;order:3}.mobile-menu-button{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem .7rem;color:var(--green-hover);background:transparent;border:1px solid var(--border-color);border-radius:.65rem;font-size:.67rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.mobile-menu-icon{display:grid;gap:.2rem;width:.85rem}.mobile-menu-icon i{display:block;width:100%;height:2px;background:currentColor;border-radius:999px;transition:transform .18s ease}.mobile-menu-icon[data-open=true] i:first-child{transform:translateY(.18rem) rotate(45deg)}.mobile-menu-icon[data-open=true] i:last-child{transform:translateY(-.18rem) rotate(-45deg)}.mobile-navigation nav{position:absolute;top:calc(100% + .5rem);right:0;display:grid;width:min(15rem,calc(100vw - 2.25rem));padding:.55rem;background:var(--surface);border:1px solid var(--border-color);border-radius:.9rem;box-shadow:0 1rem 2rem rgb(57 35 93/14%);opacity:0;pointer-events:none;transform:translateY(-.5rem) scale(.98);transform-origin:top right;transition:opacity .18s ease,transform .18s ease,background-color .28s ease}.mobile-navigation nav[data-open=true]{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.mobile-navigation nav[hidden]{display:none}.mobile-navigation nav a{padding:.8rem;color:var(--dark-blue);border-radius:.6rem;font-size:.82rem;font-weight:900;text-decoration:none}}@media (max-width:900px){.mobile-navigation nav a:focus-visible,.mobile-navigation nav a:hover{color:#fff;background:var(--green)}.contact-page-grid{grid-template-columns:1fr;gap:2.5rem}.contact-page-intro h1{max-width:18ch}}@media (max-width:760px){.gallery-grid{grid-template-areas:"tall warm" "tall blue" "wide wide";grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:10rem 8rem 8rem}.gallery-tile{min-height:0}.gallery-tile-tall{grid-area:tall}.gallery-tile-warm{grid-area:warm}.gallery-tile-blue{grid-area:blue}.gallery-tile-wide{grid-area:wide}}@media (max-width:680px){.site-shell{width:min(100% - 2.25rem,74rem)}.navigation{min-height:4rem}.brand-logo{width:12rem}.hero-grid{min-height:auto;padding-block:3.3rem}h1{font-size:clamp(2.75rem,13vw,4.1rem)}h2{font-size:2.15rem}.benefits-intro,.contact-section p,.hero-intro,.intro-copy p{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-art{min-height:19rem;border-radius:6rem 6rem 1.5rem 1.5rem}.benefits-section,.blog-section,.contact-section,.gallery-section,.intro-section,.offer-section,.testimonials-section{padding-block:4.6rem}.footer-content,.section-heading{align-items:flex-start;flex-direction:column}.section-heading{gap:1rem}.contact-details-list>div,.legal-details div{grid-template-columns:1fr;gap:.2rem}.admin-editor-grid,.article-grid,.offer-grid,.testimonials-grid{grid-template-columns:1fr}.offer-card{min-height:12.8rem}.article-card{min-height:11rem}.admin-editor-heading{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.admin-shell{align-items:flex-start;background:linear-gradient(145deg,var(--hero-start) 0,var(--cream) 46rem);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:4rem 1.25rem}.admin-card{background:var(--surface);border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 1rem 3rem rgb(57 35 93/12%);color:var(--gray-text);font-size:.81em;max-width:93.6rem;padding:2rem;width:100%}.admin-login-card{max-width:36rem}.admin-eyebrow{color:var(--gray-light);font-size:.8rem;font-weight:700;letter-spacing:.12em;margin:0 0 .5rem;text-transform:uppercase}.admin-card h1,.admin-card h2{color:var(--dark-blue)}.admin-card h1{margin:0 0 1rem;max-width:none;font-size:1.7rem;letter-spacing:-.02em;line-height:1.15}.admin-card h2{font-size:1.25rem;margin:2rem 0 1rem}.admin-form{display:grid;gap:.55rem;margin-top:1.5rem}.admin-form input,.admin-form select,.admin-form textarea{background:color-mix(in srgb,var(--cream) 88%,var(--surface));border:1px solid var(--border-color);border-radius:.6rem;box-sizing:border-box;color:var(--gray-text);font:inherit;padding:.65rem .75rem;width:100%}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:2px solid color-mix(in srgb,var(--blue) 55%,transparent);outline-offset:1px}.admin-form textarea{resize:vertical}.admin-form button,.admin-secondary-button{background:var(--dark-blue);border:0;border-radius:.7rem;color:#fff;cursor:pointer;font:inherit;font-weight:800;margin-top:.5rem;padding:.75rem 1rem;width:fit-content}.admin-form button:focus-visible,.admin-form button:hover,.admin-secondary-button:focus-visible,.admin-secondary-button:hover{background:#4b2d75}.admin-calendar-create-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end;margin-top:.35rem}.admin-calendar-create-actions button{margin-top:0}.admin-modal-actions{justify-content:flex-end;margin-top:.35rem}.admin-modal-actions,.admin-modal-actions-group{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem}.admin-modal-actions-group:last-child{margin-left:auto}.admin-modal-actions .admin-secondary-button,.admin-modal-actions button{margin-top:0}.admin-secondary-button{align-items:center;background:var(--blue);display:inline-flex;margin:0;text-decoration:none}.admin-secondary-button:focus-visible,.admin-secondary-button:hover{background:#8a66b8}.admin-public-link{margin-top:1rem}.admin-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.admin-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.admin-download-feedback{color:var(--dark-blue);font-size:.8rem}.admin-download-feedback-error{color:#c0392b}.admin-panel-footer{border-top:1px solid rgb(0 0 0/8%);margin-top:2rem;padding-top:1rem}.admin-guide-link{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.admin-text-link{background:none;border:0;color:var(--dark-blue);cursor:pointer;font:inherit;font-size:.9rem;padding:0;text-decoration:underline;width:auto}.admin-text-link:focus-visible,.admin-text-link:hover{color:var(--blue)}.admin-header h1{margin-bottom:0}.admin-content-card,.admin-login-card{position:relative}.admin-header-home-link{position:absolute;right:1.25rem;top:1.25rem;z-index:1}.admin-nav{border-block:1px solid var(--border-color);margin-top:1.5rem;padding:.75rem 0}.admin-nav,.admin-nav-links{display:flex;flex-wrap:wrap;gap:.5rem}.admin-nav-mobile,.admin-nav-mobile-label{display:none}.admin-nav-link{align-items:center;background:none;border:1px solid transparent;border-radius:var(--border-radius,.5rem);color:var(--gray-light);display:inline-flex;font-size:.9rem;padding:.35rem .7rem;text-decoration:none}.admin-nav-link:focus-visible,.admin-nav-link:hover{border-color:var(--border-color);color:var(--dark-blue)}.admin-nav-link-active{background:var(--blue);border-color:var(--blue);color:#fff}.admin-nav-link-active:focus-visible,.admin-nav-link-active:hover{background:var(--dark-blue);border-color:var(--dark-blue);color:#fff}.admin-nav-link-public{margin-left:auto}.admin-submissions-export{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-top:1.5rem;padding-top:1rem}.admin-notice,.admin-success{border-left:.25rem solid var(--green);margin:1.5rem 0 0;padding:.65rem .8rem}.admin-form-error{border-left-color:#c0392b;color:#8f261c;margin-bottom:.75rem}.admin-form label.calendar-field-error{color:#8f261c}.admin-form .calendar-field-error input,.admin-form .calendar-field-error select{border-color:#c0392b;box-shadow:0 0 0 2px rgb(192 57 43/12%)}.admin-form .calendar-field-error input:focus,.admin-form .calendar-field-error select:focus{border-color:#8f261c;box-shadow:0 0 0 3px rgb(192 57 43/18%)}.admin-field-error{color:#8f261c;font-size:.78rem;font-weight:700;line-height:1.35}.admin-success{border-left-color:var(--dark-blue)}.admin-submissions-intro{color:var(--gray-light);margin:1.25rem 0 0}.admin-sms-intro{margin-top:1.5rem}.admin-sms-intro p{margin:.5rem 0}.admin-sms-history{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1rem}.admin-modal{background:var(--surface);border:0;border-radius:1.25rem;box-shadow:0 2rem 5rem rgb(16 15 62/30%);color:var(--gray-text);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:clamp(1.5rem,4vw,2.5rem);width:min(52rem,calc(100% - 2rem))}.admin-modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgb(16 15 62/66%)}.admin-modal h2{color:var(--dark-blue);font-size:1.4rem;margin:0 0 1rem;padding-right:2.5rem}.admin-modal-close{background:var(--cream);border:0;border-radius:50%;color:var(--dark-blue);cursor:pointer;font-size:1.5rem;height:2.4rem;position:absolute;right:1rem;top:1rem;width:2.4rem}.admin-history-table-wrapper{overflow-x:auto}.admin-history-table{border-collapse:collapse;font-size:.9rem;width:100%}.admin-history-caption{color:var(--gray-light);font-size:.78rem;margin:.6rem 0 0}.admin-history-subject{color:var(--dark-blue);display:block;font-weight:800}.admin-history-table td,.admin-history-table th{border-bottom:1px solid var(--border-color);padding:.6rem .5rem;text-align:left;vertical-align:top}.admin-history-table th{color:var(--dark-blue);font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.admin-history-table td:first-child,.admin-history-table td:nth-child(3){white-space:nowrap}.admin-history-table td:nth-child(2){overflow-wrap:anywhere;white-space:pre-wrap}.admin-sms-form{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.admin-sms-toolbar{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.admin-sms-toolbar h2{margin:0}.admin-sms-toolbar p{color:var(--gray-light);margin:.5rem 0 0}.admin-sms-picker{align-items:stretch;display:grid;gap:1rem;grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr);margin-top:1.5rem}.admin-sms-picker-panel{border:1px solid var(--border-color);min-width:0;padding:1rem}.admin-sms-picker-panel h3{color:var(--dark-blue);font-size:1rem;margin:0}.admin-sms-recipient-list{display:grid;gap:.5rem;margin-top:1rem;max-height:24rem;overflow:auto}.admin-recipient-groups{border-bottom:1px solid var(--border-color);display:grid;gap:.5rem;padding-bottom:.75rem}.admin-recipient-groups h4,.admin-recipient-list-heading{color:var(--dark-blue);font-size:.82rem;letter-spacing:.03em;margin:0;text-transform:uppercase}.admin-recipient-list-heading{margin:.25rem 0 0}.admin-group-recipient{background:color-mix(in srgb,var(--blue) 10%,var(--surface));border-color:color-mix(in srgb,var(--blue) 35%,var(--border-color))}.admin-sms-recipient{align-items:center;background:color-mix(in srgb,var(--cream) 65%,var(--surface));border:1px solid transparent;border-radius:.55rem;cursor:pointer;display:flex;gap:.75rem;padding:.7rem}.admin-form label.admin-sms-recipient{align-items:center;display:flex;gap:.75rem;margin:0}.admin-sms-recipient:has(input:checked){background:color-mix(in srgb,var(--blue) 16%,var(--surface));border-color:var(--blue)}.admin-sms-recipient input{flex:0 0 auto;width:auto}.admin-sms-recipient span{align-items:baseline;display:flex;flex-wrap:wrap;gap:.2rem .65rem}.admin-sms-recipient small{color:var(--gray-light)}.admin-sms-selected-panel{background:color-mix(in srgb,var(--cream) 42%,var(--surface))}.admin-sms-selected-heading{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.admin-sms-selected-heading>span{align-items:center;background:var(--blue);border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:800;min-height:1.5rem;min-width:1.5rem;justify-content:center;padding:0 .35rem}.admin-sms-empty-selected{color:var(--gray-light);margin:1rem 0 0}.admin-sms-selected-list{display:grid;gap:.5rem;list-style:none;margin:1rem 0 0;max-height:24rem;overflow:auto;padding:0}.admin-sms-selected-list li{align-items:center;background:var(--surface);border:1px solid var(--border-color);border-radius:.55rem;display:flex;gap:.75rem;justify-content:space-between;padding:.65rem}.admin-sms-selected-list span{display:grid;gap:.2rem;min-width:0}.admin-sms-selected-list small{color:var(--gray-light)}.admin-sms-selected-list button{background:transparent;border:0;color:var(--dark-blue);cursor:pointer;flex:0 0 auto;font:inherit;font-size:.8rem;font-weight:800;margin:0;padding:.35rem;width:auto}.admin-sms-selected-list button:focus-visible,.admin-sms-selected-list button:hover{color:#c0392b;text-decoration:underline}.admin-sms-counter{color:var(--gray-light);font-size:.8rem;margin:-.25rem 0 0}.admin-group-create-form{align-items:end;border-top:1px solid var(--border-color);grid-template-columns:minmax(0,1fr) auto;padding-top:1.5rem}.admin-group-create-form,.admin-groups-list{display:grid;gap:1rem;margin-top:1.5rem}.admin-group-card{border:1px solid var(--border-color);padding:1rem}.admin-group-card-header{align-items:flex-start;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;list-style:none}.admin-group-card-header::-webkit-details-marker{display:none}.admin-group-card-header:before{color:var(--blue);content:"+";flex:0 0 auto;font-size:1.35rem;font-weight:800;line-height:1;order:2}.admin-group-card[open] .admin-group-card-header:before{content:"−"}.admin-group-card-header h2{color:var(--dark-blue);margin:0}.admin-group-expanded-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.admin-group-actions{display:flex;flex-wrap:wrap;gap:.75rem}.admin-group-actions button{margin:0;width:auto}.admin-group-action-button{align-items:center;background:var(--dark-blue);border:0;border-radius:.7rem;color:#fff;cursor:pointer;font:inherit;font-weight:800;margin:0;padding:.75rem 1rem;width:auto}.admin-group-action-button:focus-visible,.admin-group-action-button:hover{background:#4b2d75}.admin-group-action-button:disabled{cursor:wait;opacity:.65}.admin-group-members-list{display:grid;gap:.5rem;margin-top:1rem}.admin-group-member{align-items:center;background:color-mix(in srgb,var(--cream) 65%,var(--surface));border:1px solid var(--border-color);border-radius:.55rem;display:flex;gap:.75rem;justify-content:space-between;padding:.7rem}.admin-group-member>span{display:grid;gap:.2rem;min-width:0}.admin-group-member small{color:var(--gray-light);overflow-wrap:anywhere}.admin-group-remove-member{align-items:center;background:transparent;border:0;color:var(--dark-blue);display:inline-flex;flex:0 0 auto;font-size:1.35rem;height:2rem;justify-content:center;margin:0;padding:0;width:2rem}.admin-group-remove-member:focus-visible,.admin-group-remove-member:hover{color:#c0392b}.admin-group-add-member{align-items:stretch;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem;inline-size:min(50%,32rem);margin-top:1rem;padding-top:1rem}.admin-group-add-member label{display:grid;gap:.55rem}.admin-group-add-member select{background:color-mix(in srgb,var(--cream) 88%,var(--surface));border:1px solid var(--border-color);border-radius:.6rem;box-sizing:border-box;color:var(--gray-text);font:inherit;padding:.65rem .75rem;width:100%}.admin-group-add-member select:focus{outline:2px solid color-mix(in srgb,var(--blue) 55%,transparent);outline-offset:1px}.attendance-create-form{margin-top:1.5rem;padding-top:1.5rem}.attendance-activity-picker{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-filter-toggle-row{align-items:center;display:flex;flex:1 1 auto;justify-content:center;min-width:0}.attendance-create-actions{align-items:center;display:flex;flex:0 0 auto;gap:.55rem}.attendance-filter-toggle{background:transparent;border:1px solid var(--border-color);border-radius:.5rem;color:var(--dark-blue);cursor:pointer;font:inherit;font-size:.8rem;font-weight:800;margin:0;padding:.55rem .7rem;width:auto}.attendance-filter-toggle:focus-visible,.attendance-filter-toggle:hover{border-color:var(--blue);color:var(--blue)}.attendance-nearest-activities{align-items:center;flex-direction:column}.attendance-nearest-activities,.attendance-nearest-activity-row{display:flex;gap:.4rem;justify-content:center;min-width:0;width:100%}.attendance-nearest-activity-row{align-items:stretch}.attendance-nearest-day{align-items:stretch;display:flex;flex:0 1 auto;flex-wrap:nowrap;gap:.4rem;justify-content:flex-start;min-width:0;max-width:calc(100% - 4.8rem);overflow-x:auto;overflow-y:hidden}.attendance-nearest-date{color:var(--dark-blue);font-size:.8rem;text-align:center}.attendance-nearest-arrow{align-items:center;background:var(--surface);border:1px solid var(--border-color);border-radius:.45rem;color:var(--dark-blue);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:1rem;justify-content:center;margin:0;min-width:2rem;padding:0;width:2rem}.attendance-nearest-arrow:focus-visible:not(:disabled),.attendance-nearest-arrow:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.attendance-nearest-arrow:disabled{cursor:not-allowed;opacity:.4}.attendance-nearest-activity{align-items:start;background:var(--surface);border:1px solid var(--border-color);border-radius:.45rem;color:var(--dark-blue);cursor:pointer;flex:0 0 auto;font:inherit;font-size:.72rem;font-weight:700;margin:0;max-width:none;min-width:max-content;padding:.32rem .45rem;white-space:nowrap;width:auto}.attendance-nearest-empty{color:var(--gray-light);font-size:.8rem}.attendance-nearest-activity small,.attendance-nearest-activity strong{display:block;white-space:nowrap}.attendance-nearest-activity strong{font-size:.7rem}.attendance-nearest-activity small{color:#fff;font-size:.72rem;font-weight:900;margin-top:.12rem}.attendance-nearest-activity:focus-visible,.attendance-nearest-activity:hover{border-color:var(--blue);color:var(--blue)}.admin-form .attendance-nearest-activity-active,.admin-form .attendance-nearest-activity-active:focus-visible,.admin-form .attendance-nearest-activity-active:hover{background:var(--blue);border:2px solid #c0392b;color:#fff}.attendance-activity-filters{align-items:end;background:color-mix(in srgb,var(--cream) 42%,var(--surface));border:1px solid var(--border-color);border-radius:.7rem;display:grid;gap:.65rem;grid-template-columns:repeat(5,minmax(0,1fr)) auto;padding:.75rem}.attendance-activity-filters label{font-size:.78rem}.attendance-activity-filters input,.attendance-activity-filters select{min-width:0;padding:.5rem}.attendance-clear-filters{background:transparent;border:1px solid var(--border-color);border-radius:.5rem;color:var(--dark-blue);cursor:pointer;font:inherit;font-size:.78rem;font-weight:800;margin:0;padding:.5rem .65rem;white-space:nowrap;width:auto}.attendance-clear-filters:focus-visible,.attendance-clear-filters:hover{border-color:var(--blue);color:var(--blue)}.attendance-activity-filter-summary{color:var(--gray-light);font-size:.78rem;margin:-.45rem 0 0}.admin-calendar-toolbar{align-items:center;background:color-mix(in srgb,var(--cream) 48%,var(--surface));border:1px solid var(--border-color);border-radius:.85rem;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin-top:1.5rem;padding:.85rem}.admin-calendar-toolbar>a:first-child{justify-self:start}.admin-calendar-toolbar>a:last-child{justify-self:end}.admin-calendar-toolbar>div{text-align:center}.admin-calendar-toolbar-week{display:flex;flex-direction:column;gap:.6rem;justify-self:center;margin-inline:auto;max-width:22rem;text-align:center}.admin-calendar-toolbar-week h2{letter-spacing:.01em;text-align:center;white-space:nowrap}.admin-calendar-toolbar h2{color:var(--dark-blue);font-size:1.2rem;font-weight:900;margin:0}.admin-calendar-toolbar a:not(.admin-secondary-button){align-self:center;color:var(--dark-blue);display:inline-block;font-size:.82rem;font-weight:800;margin-top:0;text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:3px}.admin-calendar-toolbar a:not(.admin-secondary-button):focus-visible,.admin-calendar-toolbar a:not(.admin-secondary-button):hover{color:var(--green-hover)}.admin-calendar-grid{display:grid;gap:.75rem;grid-template-columns:repeat(7,minmax(8rem,1fr));margin-top:1.5rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:inline mandatory}.admin-calendar-day{background:color-mix(in srgb,var(--cream) 42%,var(--surface));border:1px solid var(--border-color);border-radius:.75rem;min-height:15rem;min-width:8rem;padding:.75rem;scroll-snap-align:center}.admin-calendar-day header{border-bottom:1px solid var(--border-color);padding-bottom:.65rem}.admin-calendar-day h2{color:var(--dark-blue);font-size:.9rem;margin:0}.admin-calendar-day header p{color:var(--gray-light);font-size:.8rem;margin:.2rem 0 0}.admin-calendar-empty{color:var(--gray-light);font-size:.8rem;margin:1rem 0 0}.admin-calendar-activities{display:grid;gap:.5rem;margin-top:.75rem}.admin-calendar-activity{background:var(--surface);border-left:.25rem solid var(--blue);border-radius:.45rem;color:var(--gray-text);display:grid;gap:.2rem;padding:.6rem;text-decoration:none}.admin-calendar-activity:focus-visible,.admin-calendar-activity:hover{border-left-color:var(--green);outline:2px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:1px}.admin-calendar-activity strong{color:var(--dark-blue);font-size:.8rem;overflow-wrap:anywhere}.admin-calendar-activity span{font-size:.78rem;font-weight:800}.admin-calendar-activity small{color:var(--gray-light)}.admin-calendar-board-wrap{margin-top:1.5rem;overflow-x:auto;overscroll-behavior-inline:contain;padding:.15rem;scroll-behavior:smooth;scroll-snap-type:inline mandatory}.admin-calendar-board{display:grid;gap:.5rem;grid-template-columns:4.5rem repeat(7,minmax(10rem,1fr));min-width:78rem}.admin-calendar-board-corner{min-width:4.5rem}.admin-calendar-board-day{align-content:center;background:color-mix(in srgb,var(--cream) 48%,var(--surface));border:1px solid var(--border-color);border-radius:.75rem;display:grid;gap:.15rem;padding:.65rem .75rem;scroll-snap-align:center;text-align:center}.admin-calendar-board-day-today{background:color-mix(in srgb,var(--dark-blue) 8%,var(--surface));border-color:var(--dark-blue)}.admin-calendar-board-day strong{color:var(--dark-blue);font-size:.85rem}.admin-calendar-board-day span{color:var(--gray-light);font-size:.78rem}.admin-calendar-board-gutter{display:flex;flex-direction:column;justify-content:space-between;padding:.25rem 0}.admin-calendar-board-gutter span{color:var(--gray-light);font-size:.72rem;font-weight:700;line-height:1;text-align:right}.admin-calendar-board-column{border:1px solid var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;gap:.3rem;min-height:60rem;padding:.3rem;position:relative;scroll-snap-align:center}.admin-calendar-board-column-today{background:color-mix(in srgb,var(--dark-blue) 3%,var(--surface));border-color:color-mix(in srgb,var(--dark-blue) 55%,var(--border-color))}.admin-calendar-slot{background:color-mix(in srgb,var(--cream) 22%,var(--surface));border:1px solid transparent;border-radius:.4rem;cursor:pointer;flex:1 1;min-height:2.65rem;padding:0;transition:background .15s ease,border-color .15s ease,transform .15s ease}.admin-calendar-slot:focus-visible,.admin-calendar-slot:hover{background:color-mix(in srgb,var(--green) 14%,var(--surface));border-color:var(--green);outline:none;transform:translateX(.1rem)}.admin-calendar-block{align-items:flex-start;background:color-mix(in srgb,var(--blue) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 45%,var(--border-color));border-left:.3rem solid var(--blue);border-radius:.5rem;color:var(--gray-text);cursor:pointer;display:flex;flex-direction:column;gap:.2rem;left:2px;overflow:hidden;padding:.55rem .65rem;position:absolute;right:2px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease;z-index:1}.admin-calendar-block-compact{min-height:2.7rem;overflow:visible;z-index:3}.admin-calendar-block-compact small{display:none}.admin-calendar-block-compact strong{line-height:1.2;overflow-wrap:anywhere;white-space:normal}.admin-calendar-block-compact span{display:block;flex-shrink:0}.admin-calendar-block-laned{overflow:hidden;padding:.35rem .4rem}.admin-calendar-block-laned strong{font-size:.68rem;line-height:1.15}.admin-calendar-block-laned span{font-size:.62rem}.admin-calendar-block:focus-visible,.admin-calendar-block:hover{border-color:var(--green);border-left-color:var(--green);box-shadow:0 0 0 1px var(--green);outline:none;z-index:2}.admin-calendar-block-series{border-left-color:var(--green)}.admin-calendar-block strong{color:var(--dark-blue);font-size:.78rem;overflow-wrap:anywhere}.admin-calendar-block span{font-size:.74rem;font-weight:800}.admin-calendar-block small{color:var(--gray-light);font-size:.7rem}.admin-calendar-detail-group{color:var(--gray-light);font-size:.85rem;margin:-.45rem 0 .25rem}.admin-calendar-detail-group strong{color:var(--dark-blue)}.admin-calendar-detail-name-trigger{background:color-mix(in srgb,var(--cream) 88%,var(--surface));border:1px solid var(--border-color);border-radius:.6rem;box-sizing:border-box;color:var(--gray-text);font:inherit;padding:.65rem .75rem;text-align:left;width:100%}.admin-calendar-repeat{border:1px solid var(--border-color);border-radius:.6rem;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;padding:.85rem}.admin-calendar-repeat legend{color:var(--dark-blue);font-size:.82rem;font-weight:800;padding:0 .4rem}.admin-calendar-repeat label{align-items:center;display:inline-flex;gap:.4rem}.admin-calendar-repeat input[type=number]{width:4.5rem}.attendance-repeat-fields{background:color-mix(in srgb,var(--cream) 42%,var(--surface));border:1px solid var(--border-color);border-radius:.7rem;display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:.15rem 0 0;padding:.8rem 1rem}.attendance-repeat-fields legend{color:var(--dark-blue);font-size:.82rem;font-weight:800;padding:0 .4rem}.attendance-repeat-fields>label{align-items:center;display:inline-flex;gap:.4rem;white-space:nowrap}.attendance-repeat-fields input[type=radio]{accent-color:var(--dark-blue);margin:0}.attendance-repeat-fields input[type=number]{margin-left:.2rem;min-width:4.5rem;width:4.5rem}.attendance-card h2,.attendance-create-form h2{color:var(--dark-blue);margin:0}.attendance-create-success{background:color-mix(in srgb,#237a4b 9%,var(--surface));border:1px solid color-mix(in srgb,#237a4b 35%,var(--border-color));border-left:.35rem solid #237a4b;border-radius:.7rem;display:grid;gap:.35rem;margin:1rem 0 0;padding:1rem 1.15rem}.attendance-create-success strong{color:#237a4b;font-size:1.1rem}.attendance-create-success a{color:var(--dark-blue);font-size:.9rem;font-weight:800;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px}.admin-panel-footer{align-items:flex-start;display:flex;gap:1.5rem;justify-content:space-between}.attendance-report-download{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;margin-left:auto}.attendance-report-section{display:grid;gap:.45rem}.attendance-report-section h2{color:var(--dark-blue);font-size:.95rem;margin:0}.attendance-report-fields{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.65rem}.attendance-report-fields label{display:grid;gap:.25rem;color:var(--gray-light);font-size:.72rem;font-weight:800}.attendance-report-fields input,.attendance-report-fields select{background:color-mix(in srgb,var(--cream) 88%,var(--surface));border:1px solid var(--border-color);border-radius:.6rem;color:var(--gray-text);font:inherit;min-height:2.4rem;padding:.45rem .6rem}.attendance-report-person-groups{color:var(--gray-light);font-size:.76rem;margin:-.15rem 0 0}.attendance-report-person-groups strong{color:var(--dark-blue)}.attendance-report-download>button{background:var(--dark-blue);border:0;border-radius:.7rem;color:#fff;cursor:pointer;font:inherit;font-weight:800;margin:0;min-height:2.4rem;padding:.55rem .8rem;white-space:nowrap}.attendance-report-download>button:focus-visible,.attendance-report-download>button:hover{background:#4b2d75}.attendance-report-download .admin-download-feedback{flex-basis:100%;text-align:right}.attendance-report-actions{align-items:stretch;display:flex;gap:.55rem}.attendance-report-actions button{align-items:center;border:1px solid transparent;border-radius:.7rem;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-size:.82rem;font-weight:800;justify-content:center;margin:0;min-height:2.55rem;min-width:9.5rem;padding:.6rem .9rem;white-space:nowrap}.attendance-report-actions button:first-child{background:var(--blue);border-color:color-mix(in srgb,var(--blue) 70%,var(--border-color))}.attendance-report-actions button:first-child:focus-visible,.attendance-report-actions button:first-child:hover{background:var(--dark-blue)}.attendance-report-actions button:last-child{background:var(--dark-blue);border-color:var(--dark-blue);box-shadow:0 .25rem .7rem rgb(57 35 93/16%)}.attendance-report-actions button:last-child:focus-visible,.attendance-report-actions button:last-child:hover{background:#4b2d75;border-color:#4b2d75;box-shadow:0 .35rem .9rem rgb(57 35 93/22%)}.attendance-report-actions button:disabled{cursor:wait;opacity:.65}.attendance-report-preview{align-self:center;margin:auto;width:min(72rem,calc(100% - 2rem))}.attendance-report-preview-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.attendance-report-preview-header h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.25rem;white-space:nowrap}.attendance-report-preview-header p{color:var(--gray-light);margin:0}.attendance-report-preview-header button{background:var(--cream);border:1px solid var(--border-color);border-radius:.6rem;color:var(--dark-blue);cursor:pointer;font:inherit;font-weight:800;margin:0;padding:.55rem .8rem}.attendance-report-table-wrap{overflow-x:auto;margin-top:1.25rem}.attendance-report-empty{color:var(--gray-light);font-weight:800;margin:2rem 0 .5rem;text-align:center}.attendance-report-legend{align-items:center;border-bottom:1px solid var(--border-color);color:var(--gray-light);display:flex;flex-wrap:wrap;gap:.7rem 1rem;margin-top:1rem;padding-bottom:.8rem}.attendance-report-legend span{align-items:center;display:inline-flex;font-size:.78rem;font-weight:700;gap:.35rem}.attendance-legend-symbol{align-items:center;border-radius:50%;display:inline-flex;font-size:.85rem;font-style:normal;font-weight:900;height:1.35rem;justify-content:center;width:1.35rem}.attendance-legend-present{background:color-mix(in srgb,#237a4b 15%,var(--surface));color:#237a4b}.attendance-legend-absent{background:color-mix(in srgb,#c0392b 13%,var(--surface));color:#c0392b}.attendance-legend-unassigned{background:color-mix(in srgb,var(--gray-light) 13%,var(--surface));color:var(--gray-light)}.attendance-report-table-wrap table{border-collapse:collapse;min-width:58rem;width:100%}.attendance-report-table-wrap td,.attendance-report-table-wrap th{border-bottom:1px solid var(--border-color);padding:.65rem .55rem;text-align:left;vertical-align:top}.attendance-report-table-wrap th{color:var(--dark-blue);font-size:.76rem;text-transform:uppercase}.attendance-report-matrix{min-width:34rem!important}.attendance-report-matrix th:first-child{left:0;min-width:12rem;position:sticky;z-index:1}.attendance-report-matrix thead th:first-child{background:var(--surface);z-index:2}.attendance-report-matrix tbody th{background:var(--surface);font-size:.82rem;text-transform:none}.attendance-report-matrix tbody th small,.attendance-report-matrix tbody th strong{display:block}.attendance-report-matrix tbody th small{color:var(--gray-light);font-size:.7rem;font-weight:500;margin-top:.15rem;overflow-wrap:anywhere}.attendance-report-matrix td,.attendance-report-matrix thead th:not(:first-child){min-width:5.4rem;text-align:center}.attendance-report-matrix td span{align-items:center;border-radius:50%;display:inline-flex;font-size:1rem;font-weight:900;height:1.8rem;justify-content:center;width:1.8rem}.attendance-matrix-present span{background:color-mix(in srgb,#237a4b 15%,var(--surface));color:#237a4b}.attendance-matrix-absent span{background:color-mix(in srgb,#c0392b 13%,var(--surface));color:#c0392b}.attendance-matrix-unassigned span{background:color-mix(in srgb,var(--gray-light) 13%,var(--surface));color:var(--gray-light)}.attendance-create-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between}.attendance-create-heading p{color:var(--gray-light);margin:.25rem 0 0}.attendance-create-mode-button{background:var(--blue);border:0;border-radius:.6rem;color:#fff;cursor:pointer;flex:0 0 auto;font:inherit;font-size:.8rem;font-weight:800;margin:0;padding:.55rem .75rem;width:auto}.attendance-create-mode-button:focus-visible,.attendance-create-mode-button:hover{background:var(--dark-blue)}.attendance-selected-details{align-items:center;background:color-mix(in srgb,var(--cream) 55%,var(--surface));border:1px solid var(--border-color);border-radius:.7rem;display:flex;gap:1rem;justify-content:space-between;padding:.8rem 1rem}.attendance-selected-section{background:color-mix(in srgb,var(--cream) 32%,var(--surface));border:1px solid var(--border-color);border-radius:.85rem;display:grid;gap:1rem;padding:1rem}.attendance-selected-section .attendance-selected-details{background:transparent;border:0;padding:0}.attendance-selected-edit-fields{display:grid;gap:.55rem}.attendance-edit-submit{display:flex;justify-content:flex-end;margin-left:auto;margin-top:.35rem}.attendance-edit-submit button{margin:0;width:auto}.admin-calendar-detail-readonly,.calendar-detail-readonly-times p{margin:0}.attendance-selected-section .attendance-create-people{background:color-mix(in srgb,var(--cream) 42%,var(--surface));max-height:none;overflow:visible}.attendance-selected-section .attendance-selected-actions{border-top:1px solid var(--border-color);margin-top:0;padding-top:1rem}.attendance-selected-details>div{display:grid;gap:.2rem;min-width:0}.attendance-selected-details strong{color:var(--dark-blue);overflow-wrap:anywhere}.attendance-selected-details span{color:var(--gray-light);font-size:.82rem}.attendance-edit-button{background:var(--blue);border:0;border-radius:.6rem;color:#fff;cursor:pointer;flex:0 0 auto;font:inherit;font-size:.8rem;font-weight:800;margin:0;padding:.55rem .8rem;width:auto}.attendance-edit-button:focus-visible,.attendance-edit-button:hover{background:var(--dark-blue)}.attendance-selected-status{background:color-mix(in srgb,var(--cream) 42%,var(--surface));border:1px solid var(--border-color);border-radius:.7rem;display:grid;gap:.55rem;padding:.8rem 1rem}.attendance-selected-status-heading{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.attendance-selected-status-heading strong{color:var(--dark-blue)}.attendance-selected-status-heading span{color:var(--gray-light);font-size:.8rem;font-weight:700}.attendance-selected-status-list{display:grid;gap:.35rem}.attendance-selected-status-list>div{align-items:center;border-radius:.45rem;display:flex;gap:.75rem;justify-content:space-between;padding:.45rem .6rem}.attendance-selected-status-present{background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--dark-blue)}.attendance-selected-status-absent{background:color-mix(in srgb,var(--cream-deep) 55%,var(--surface));color:var(--gray-text)}.attendance-selected-status-list strong{font-size:.78rem;white-space:nowrap}.calendar-attendance-status{background:color-mix(in srgb,var(--surface) 86%,var(--cream));border-color:color-mix(in srgb,var(--dark-blue) 16%,var(--border-color));gap:.75rem;padding:1rem}.calendar-attendance-status-title{display:grid;gap:.15rem}.calendar-attendance-status-title span{color:var(--gray-light);font-size:.72rem;font-weight:600}.calendar-attendance-status-count{background:color-mix(in srgb,var(--dark-blue) 9%,var(--surface));border-radius:999px;color:var(--dark-blue);font-size:.76rem;font-weight:800;padding:.35rem .6rem;white-space:nowrap}.calendar-attendance-status-list{border-top:1px solid var(--border-color);gap:.4rem;padding-top:.65rem}.calendar-attendance-status-row{background:var(--surface);border-left:1px solid var(--border-color);border:1px solid var(--border-color);border-left-width:.25rem;border-radius:.5rem;min-height:2.4rem;padding:.45rem .6rem}.calendar-attendance-status-row-present{border-left-color:var(--blue)}.calendar-attendance-status-row-absent{border-left-color:var(--gray-light)}.calendar-attendance-status-person{align-items:center;display:inline-flex;gap:.55rem;min-width:0;overflow-wrap:anywhere}.calendar-attendance-status-person i{background:var(--gray-light);border-radius:50%;display:inline-block;flex:0 0 auto;height:.45rem;width:.45rem}.calendar-attendance-status-row-present .calendar-attendance-status-person i{background:var(--blue)}.calendar-attendance-status-badge{background:color-mix(in srgb,var(--cream-deep) 62%,var(--surface));border-radius:999px;color:var(--gray-text);font-size:.7rem;letter-spacing:.02em;padding:.25rem .45rem}.calendar-attendance-status-row-present .calendar-attendance-status-badge{background:color-mix(in srgb,var(--blue) 14%,var(--surface));color:var(--dark-blue)}.attendance-selected-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:.35rem}.attendance-selected-actions-left,.attendance-selected-actions-right{align-items:center;display:flex;gap:.75rem}.attendance-selected-actions button{margin-top:0}.attendance-selected-actions .admin-destructive-button{background:#c0392b;border:1px solid #c0392b}.attendance-selected-actions .admin-destructive-button:focus-visible,.attendance-selected-actions .admin-destructive-button:hover{background:#a93226;border-color:#a93226}.attendance-time-grid{display:grid;gap:1rem;grid-template-columns:1.5fr 1fr 1fr}.attendance-group-picker{min-height:0}.attendance-selected-groups{display:flex;flex-wrap:wrap;gap:.45rem}.attendance-selected-groups span{align-items:center;background:color-mix(in srgb,var(--blue) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 25%,var(--border-color));border-radius:999px;color:var(--dark-blue);display:inline-flex;font-size:.85rem;gap:.4rem;padding:.25rem .35rem .25rem .65rem}.attendance-selected-groups span>button{background:transparent;border:0;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:.15rem;width:auto}.attendance-create-people{background:color-mix(in srgb,var(--cream) 42%,var(--surface));box-sizing:border-box;border:1px solid var(--border-color);border-radius:.75rem;display:grid;gap:.5rem;padding:1.25rem;width:100%}.attendance-create-people-heading{align-items:center;color:var(--dark-blue);display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.attendance-create-people-heading .attendance-bulk-button{background:var(--blue);border:0;border-radius:.6rem;box-sizing:border-box;color:#fff;cursor:pointer;font:inherit;font-size:.8rem;font-weight:800;margin-left:auto;margin-top:0;padding:.55rem .8rem;width:auto}.attendance-create-people-heading .attendance-bulk-button:focus-visible,.attendance-create-people-heading .attendance-bulk-button:hover{background:var(--dark-blue)}.attendance-create-people-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.attendance-add-participant-row{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:center;margin-top:.35rem;padding-top:.65rem}.attendance-add-participant-button{background:var(--blue);border:0;border-radius:.6rem;color:#fff;cursor:pointer;font:inherit;font-size:.8rem;font-weight:800;margin:0;padding:.55rem .8rem;width:auto}.attendance-add-participant-button:focus-visible,.attendance-add-participant-button:hover{background:var(--dark-blue)}.attendance-add-participant-row .attendance-add-person-select{max-width:18rem;width:100%!important}.attendance-extra-participants{display:grid;gap:.45rem;max-width:24rem;width:100%}.attendance-extra-participant{align-items:center;background:color-mix(in srgb,var(--blue) 10%,var(--surface));border:1px solid var(--border-color);border-radius:.6rem;color:var(--dark-blue);cursor:pointer;display:flex;font:inherit;gap:.75rem;justify-content:space-between;margin:0;padding:.55rem .8rem;text-align:left;width:100%}.attendance-extra-participant:focus-visible,.attendance-extra-participant:hover{background:color-mix(in srgb,var(--blue) 20%,var(--surface));border-color:var(--blue)}.attendance-extra-participant span{font-weight:800}.attendance-extra-participant small{color:var(--gray-light);overflow-wrap:anywhere}.attendance-add-person-select{background:var(--blue)!important;border:0!important;border-radius:.6rem!important;box-sizing:border-box;color:#fff!important;cursor:pointer;font-size:.8rem!important;font-weight:800;inline-size:10.5rem!important;max-inline-size:10.5rem!important;overflow:hidden;padding:.55rem .8rem!important;text-overflow:ellipsis;white-space:nowrap;width:auto!important}.attendance-add-person-select option{background:var(--surface);color:var(--gray-text)}.attendance-create-people-heading>span{align-items:center;background:var(--blue);border-radius:999px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:800;justify-content:center;min-height:1.5rem;min-width:1.5rem;padding:0 .35rem}.attendance-create-person{align-items:center;background:color-mix(in srgb,var(--cream) 65%,var(--surface));border:1px solid var(--border-color);border-radius:.55rem;color:var(--gray-text);cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.2rem 1rem;font:inherit;justify-content:space-between;min-width:0;padding:.7rem .8rem;text-align:left;box-sizing:border-box;max-width:none;width:100%}.attendance-create-person input{align-self:center;grid-column:3;grid-row:1/span 2;margin:0;width:auto}.attendance-create-person span{display:grid;grid-column:1;grid-row:1/span 2;gap:.15rem;min-width:0}.attendance-create-person .attendance-create-status{align-self:center;grid-column:2;grid-row:2;margin-left:0}.attendance-create-person small{color:var(--gray-light);overflow-wrap:anywhere}.attendance-create-status{align-items:center;box-sizing:border-box;cursor:pointer;border-radius:.6rem;border:1px solid transparent;display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:800;justify-content:center;padding:.55rem .8rem;white-space:nowrap;min-width:6.8rem;width:6.8rem}.admin-form .attendance-create-status:focus-visible,.admin-form .attendance-create-status:hover{filter:brightness(.9);outline:2px solid color-mix(in srgb,var(--blue) 55%,transparent);outline-offset:1px}.admin-form .attendance-create-status-present{background:#237a4b;color:#fff}.admin-form .attendance-create-status-absent{background:#6b7280;color:#fff}.attendance-create-person+.attendance-create-person{border-top-color:color-mix(in srgb,var(--border-color) 75%,transparent)}.attendance-create-person:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 55%,transparent);outline-offset:1px}.attendance-create-people label,.attendance-participants label{align-items:center;background:color-mix(in srgb,var(--cream) 65%,var(--surface));border:1px solid transparent;border-radius:.55rem;cursor:pointer;display:flex;gap:.65rem;padding:.65rem}.attendance-create-people label:has(input:checked),.attendance-participants button[aria-pressed=true],.attendance-participants label:has(input:checked){background:color-mix(in srgb,var(--blue) 12%,var(--surface));border-color:var(--blue)}.attendance-create-people small,.attendance-participants small{color:var(--gray-light)}.attendance-list{display:grid;gap:1rem;margin-top:1.5rem}.attendance-card{border:1px solid var(--border-color);overflow:hidden;padding:1rem}.attendance-card-highlighted{border-color:var(--green);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--green) 20%,transparent)}.attendance-card-summary{align-items:center;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;list-style:none}.attendance-card-summary::-webkit-details-marker{display:none}.attendance-card-summary:after{content:none}.attendance-card-summary-info{min-width:0}.attendance-card-summary-toggle{display:inline-block;flex:0 0 auto;color:var(--blue);font-size:1.35rem;font-weight:800;line-height:1}.attendance-card[open] .attendance-card-summary-toggle{font-size:0}.attendance-card[open] .attendance-card-summary-toggle:after{content:"−";font-size:1.35rem}.attendance-card-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;padding-top:1rem}.attendance-calendar-link{margin-left:auto}.attendance-card-footer button{margin:0}.attendance-delete-button{margin-left:0}.attendance-card-footer .attendance-delete-button{background:#c0392b;border:1px solid #c0392b;border-radius:.7rem;color:#fff;cursor:pointer;font:inherit;font-weight:800;padding:.75rem 1rem;width:auto}.attendance-card-footer .attendance-delete-button:focus-visible,.attendance-card-footer .attendance-delete-button:hover{background:#a93226;border-color:#a93226}.attendance-card-footer .attendance-delete-button:disabled{cursor:wait;opacity:.65}.attendance-card[open] .attendance-card-summary:after{content:"−"}.attendance-card-expanded-header h2,.attendance-card-summary h2{margin:0}.attendance-card-expanded-header p,.attendance-card-summary p{color:var(--gray-light);margin:.35rem 0 0}.attendance-card-expanded-header{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.attendance-card>header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.attendance-card>header p{color:var(--gray-light);margin:.35rem 0 0}.attendance-participants{display:grid;gap:.5rem;margin-top:1rem;width:100%}.attendance-participants button,.attendance-participants label{align-items:center;background:color-mix(in srgb,var(--cream) 65%,var(--surface));border:1px solid var(--border-color);border-radius:.55rem;cursor:pointer;display:flex;gap:1rem;padding:.7rem .8rem}.attendance-participants button{box-sizing:border-box;color:inherit;font:inherit;text-align:left;max-width:none;width:100%}.attendance-participants button:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 55%,transparent);outline-offset:1px}.attendance-participants button span,.attendance-participants label span{display:grid;flex:1 1 auto;gap:.15rem;min-width:0}.attendance-participants button small{color:var(--gray-light);overflow-wrap:anywhere}.attendance-participants button>strong,.attendance-participants label>strong{border-radius:.45rem;display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:800;justify-content:center;padding:.35rem .5rem;white-space:nowrap}.attendance-participant-present>strong{background:#237a4b;color:#fff}.attendance-participant-absent>strong{background:#c0392b;color:#fff}.attendance-card>.attendance-update-button,.attendance-card>button{margin-top:1rem}.admin-group-member-search-results{background:var(--surface);border:1px solid var(--border-color);border-radius:.6rem;display:grid;gap:.35rem;max-height:14rem;overflow-y:auto;padding:.5rem;width:100%}.admin-group-member-search-result{align-items:flex-start;background:color-mix(in srgb,var(--cream) 65%,var(--surface));border:1px solid transparent;border-radius:.55rem;color:var(--gray-text);cursor:pointer;display:grid;font:inherit;gap:.2rem;justify-items:start;margin:0;padding:.65rem .75rem;text-align:left;width:100%}.admin-group-member-search-result-selected,.admin-group-member-search-result:focus-visible,.admin-group-member-search-result:hover{background:color-mix(in srgb,var(--blue) 16%,var(--surface));border-color:var(--blue)}.admin-group-member-search-result small{color:var(--gray-light);overflow-wrap:anywhere}.admin-group-add-member-actions{display:flex;gap:.5rem}.admin-group-add-member-actions button{margin:0;width:auto}.admin-group-add-button,.admin-group-member-actions>button{margin-top:1rem}.admin-group-member-actions{display:flex;flex-wrap:wrap;gap:.75rem}.admin-group-member-actions button{width:auto}.admin-submissions-filter{align-items:end;border-bottom:1px solid var(--border-color);display:grid;gap:1rem;grid-template-columns:minmax(12rem,20rem) auto;margin-top:1.25rem;padding-bottom:1.25rem}.admin-submissions-filter button{margin-top:0}.admin-submissions-list{display:grid;gap:1rem;margin-top:1.5rem}.admin-submissions-status{margin-top:1.25rem;outline:none}.admin-submission-card{border:1px solid var(--border-color);overflow:hidden;padding:0}.admin-submission-summary{align-items:center;cursor:pointer;display:flex;gap:.75rem;list-style:none;min-height:3.5rem;padding:.9rem 1rem}.admin-submission-summary::-webkit-details-marker{display:none}.admin-submission-summary:before{color:var(--gray-light);content:"+";flex:0 0 1rem;font-size:1.25rem;font-weight:400;line-height:1;text-align:center}.admin-submission-card[open]>.admin-submission-summary:before{content:"−"}.admin-submission-summary-name{color:var(--dark-blue);font-weight:800;overflow-wrap:anywhere}.admin-submission-summary:focus-visible,.admin-submission-summary:hover{background:var(--cream)}.admin-submission-expanded{border-top:1px solid var(--border-color);padding:1rem}.admin-submission-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.admin-submission-card-header h2{color:var(--dark-blue);font-size:1.2rem;margin:0;overflow-wrap:anywhere}.admin-submission-card-header p{color:var(--gray-light);font-size:.85rem;margin:.25rem 0 0}.admin-submission-details{display:grid;gap:.5rem 1.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:1rem 0 0}.admin-submission-details div{min-width:0}.admin-submission-details dt{color:var(--gray-light);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.admin-submission-details dd{margin:.15rem 0 0;overflow-wrap:anywhere}.admin-submission-details a{color:var(--dark-blue);font-weight:700}.admin-submission-message{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.admin-submission-message h3{color:var(--gray-light);font-size:.72rem;letter-spacing:.06em;margin:0;text-transform:uppercase}.admin-submission-message p{margin:.5rem 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.admin-submission-retention{color:var(--gray-light);font-size:.8rem;margin:1rem 0 0}.admin-submission-retention-warning{border-left:.25rem solid var(--green);color:#c0392b;padding-left:.65rem}.admin-submission-actions{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;padding-top:1rem}.admin-submission-actions .admin-notice,.admin-submission-actions .admin-success{margin:0}.admin-articles-status{margin-top:1.25rem;outline:none}.admin-article-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.admin-article-actions .admin-notice{margin:0}.admin-destructive-button{background:#c0392b;border:1px solid #c0392b;color:#fff}.admin-destructive-button:focus-visible,.admin-destructive-button:hover{background:#a93226;border-color:#a93226}.admin-destructive-button:disabled{cursor:wait;opacity:.65}.admin-submissions-empty{color:var(--gray-light);margin-top:1.5rem}.admin-submissions-pagination{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:1.5rem;padding-top:1rem}.admin-submissions-pagination a{color:var(--dark-blue);font-weight:800}.admin-submissions-pagination span[aria-disabled=true]{color:#aaa096}.admin-article-form,.admin-gallery-section{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:.25rem}.admin-gallery-section>p{color:var(--gray-light);margin-top:-.4rem}.admin-gallery-section>.admin-notice{margin-top:1.5rem}.admin-gallery-manager{border:1px solid var(--border-color);margin-top:1.25rem;padding:1rem}.admin-gallery-manager-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.admin-gallery-list h3,.admin-gallery-manager-heading h3{color:var(--dark-blue);margin:0}.admin-gallery-manager-heading>span{color:var(--gray-light);font-size:.85rem;font-weight:800;white-space:nowrap}.admin-gallery-form{align-items:end;grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr) auto}.admin-gallery-form button{margin-top:0}.admin-gallery-form input[type=file]{padding:.45rem}.admin-gallery-order{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1rem}.admin-gallery-order-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.admin-gallery-order-heading h3{color:var(--dark-blue);margin:0}.admin-gallery-order-heading p{color:var(--gray-light);margin:.35rem 0 0}.admin-gallery-order-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.admin-gallery-order-actions button{background:var(--dark-blue);border:0;border-radius:.25rem;color:#fff;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;padding:.55rem .75rem}.admin-gallery-order-actions button:first-child{background:transparent;border:1px solid var(--dark-blue);color:var(--dark-blue)}.admin-gallery-order-actions button:disabled{cursor:not-allowed;opacity:.45}.admin-gallery-order-dirty{border-left:.25rem solid var(--green);color:var(--gray-light);margin:1rem 0 0;padding:.55rem .75rem}.admin-gallery-preview-views{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.admin-gallery-preview-view{background:var(--cream-deep);border:1px solid var(--border-color);min-width:0;overflow:hidden;padding:.75rem}.admin-gallery-preview-view .admin-preview-label{margin-bottom:.7rem}.admin-gallery-preview-view .gallery-grid{gap:.5rem;grid-template-rows:7rem 7rem}.admin-gallery-preview-view .gallery-tile{min-height:5rem;border-radius:.7rem}.admin-gallery-preview-view .gallery-page-grid{gap:.5rem}.admin-gallery-preview-view .gallery-page-tile{min-height:8rem;border-radius:.7rem}.admin-gallery-preview{border:1px solid var(--border-color);height:5.1rem;overflow:hidden;width:7.5rem}.admin-gallery-preview img{display:block;height:100%;object-fit:cover;width:100%}.admin-gallery-list{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1rem}.admin-gallery-list ol{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));list-style:none;margin:1rem 0 0;padding:0}.admin-gallery-list li{align-items:center;border:1px solid var(--border-color);display:flex;gap:.75rem;min-width:0;padding:.5rem}.admin-gallery-list li>img{flex:0 0 6rem;height:4rem;object-fit:cover;width:6rem}.admin-gallery-position{align-items:center;background:var(--cream-deep);border:1px solid var(--border-color);border-radius:50%;color:var(--gray-light);display:flex;flex:0 0 1.75rem;font-size:.8rem;font-weight:800;height:1.75rem;justify-content:center}.admin-gallery-list-details{display:grid;gap:.45rem;min-width:0}.admin-gallery-list strong{font-size:.85rem;overflow-wrap:anywhere}.admin-gallery-list-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.admin-gallery-list button{background:#c0392b;border:0;border-radius:.25rem;color:#fff;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;padding:.45rem .65rem;width:fit-content}.admin-gallery-list button.admin-gallery-order-button{background:var(--cream-deep);border:1px solid var(--dark-blue);color:var(--dark-blue);font-size:1rem;line-height:1;padding:.4rem .55rem}.admin-gallery-list button.admin-gallery-delete-button:disabled,.admin-gallery-list button.admin-gallery-order-button:disabled{cursor:not-allowed;opacity:.45}.admin-article-form h2{margin-top:1.5rem}.admin-article-list ul{list-style:none;margin:0;padding:0}.admin-article-list li{border-top:1px solid var(--border-color);display:grid;gap:.25rem;padding:.8rem 0}.admin-article-list span{color:var(--gray-light);font-size:.9rem}.admin-editor-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.admin-editor-heading h2{margin:0}.admin-status{flex:0 0 auto;padding:.35rem .6rem;border-radius:99rem;font-size:.72rem;font-weight:800}.admin-status-draft{color:#7a5b28;background:var(--cream-deep)}.admin-status-published{color:var(--dark-blue);background:var(--cream-deep)}.admin-status-archived{color:var(--gray-light);background:var(--cream-deep)}.admin-editor-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(18rem,1.1fr);gap:1.5rem}.admin-editor-fields{display:grid;gap:.55rem;align-content:start}.admin-form label{display:grid;gap:.35rem;color:#484035;font-weight:700}.admin-form label span{color:var(--gray-light);font-size:.8rem;font-weight:500}.admin-field-help{margin:-.2rem 0 .4rem;color:var(--gray-light);font-size:.78rem;line-height:1.45}.admin-preview{min-height:100%;padding:1.25rem;background:var(--cream-deep);border:1px solid var(--border-color);border-radius:.5rem}.admin-preview-label{margin:0 0 1rem;color:var(--gray-light);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.admin-preview article{padding:clamp(1.25rem,3vw,2rem);background:var(--surface);border:1px solid var(--border-color);box-shadow:0 .7rem 1.5rem rgb(49 41 29/8%)}.admin-preview .eyebrow{margin-bottom:.6rem}.admin-preview h3{margin:0 0 .8rem;color:var(--dark-blue);font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.05}.admin-preview-excerpt{color:var(--gray-light);font-weight:700;line-height:1.55}.admin-preview .article-markdown{padding:0;font-size:.92rem}.admin-preview .article-markdown h1{font-size:1.5rem}.admin-preview .article-markdown h2{margin:1.5rem 0 .6rem;font-size:1.2rem}.admin-article-list details{margin-top:.7rem}.admin-article-list summary{color:var(--dark-blue);cursor:pointer;font-size:.85rem;font-weight:800}.admin-article-list details .admin-article-form{margin-top:1rem}@media (max-width:700px){.attendance-create-form,.attendance-create-heading,.attendance-create-heading>div,.attendance-filter-toggle-row,.attendance-nearest-activities,.attendance-nearest-activity-row{min-width:0;max-width:100%}.attendance-create-form{gap:.35rem;margin-top:.85rem;padding-top:.85rem}.attendance-create-actions,.attendance-create-heading{gap:.35rem}.attendance-filter-toggle-row{width:100%}.attendance-nearest-activities,.attendance-nearest-activity-row,.attendance-nearest-day{gap:.25rem}.attendance-filter-toggle-row,.attendance-nearest-activities{overflow:hidden}.attendance-nearest-activity-row{display:grid;grid-template-columns:2rem minmax(0,1fr) 2rem;overflow:hidden;width:100%}.admin-form .attendance-nearest-arrow{margin:0;max-width:2rem;min-width:2rem;width:2rem}.attendance-nearest-day{flex:none;min-width:0;width:auto;max-width:none;overflow-x:auto}.attendance-nearest-date{font-size:.9rem}.attendance-nearest-activity{padding:.25rem .35rem}.attendance-create-form>label{gap:.2rem}.attendance-activity-filter-summary{margin-top:-.25rem}.admin-nav{align-items:center;flex-wrap:nowrap;gap:.5rem}.admin-nav-links{display:none}.admin-nav-mobile-label{color:var(--gray-light);display:block;flex:0 0 auto;font-size:.78rem;font-weight:800}.admin-nav-mobile{background:var(--surface);border:1px solid var(--border-color);border-radius:.5rem;color:var(--dark-blue);display:block;flex:1 1;font:inherit;font-size:.9rem;min-width:0;padding:.55rem .65rem}.admin-calendar-toolbar{align-items:stretch;display:flex;flex-direction:column}.admin-calendar-toolbar .admin-secondary-button{justify-content:center;width:100%}.admin-calendar-toolbar-week{margin-inline:auto;max-width:none;width:100%}.admin-calendar-grid{grid-template-columns:repeat(7,minmax(12rem,1fr))}.admin-calendar-board{grid-template-columns:3.5rem repeat(7,minmax(9rem,1fr));min-width:68rem}.admin-calendar-board-corner{min-width:3.5rem}.admin-calendar-board-column{min-height:60rem}.attendance-activity-picker{font-size:.9rem;padding-inline:.6rem}.attendance-activity-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-clear-filters{width:100%}.attendance-create-person{grid-template-columns:minmax(0,1fr)}.attendance-create-person span{grid-column:1;grid-row:1}.attendance-create-person .attendance-create-status{grid-column:1;grid-row:2;justify-self:stretch;width:100%}.attendance-create-heading{align-items:flex-start;flex-direction:column}.attendance-create-heading>div:first-child{order:1}.attendance-create-actions{order:2}.attendance-filter-toggle-row{order:3}.attendance-create-actions{align-items:stretch;width:100%}.attendance-create-actions>*{flex:1 1;justify-content:center;width:auto}.attendance-create-mode-button{width:100%}.attendance-create-people-actions{align-items:stretch;margin-left:0;width:100%}.attendance-add-person-select,.attendance-create-people-actions .attendance-bulk-button{flex:1 1;width:100%!important}.attendance-add-participant-row .attendance-add-person-select{max-width:none}.attendance-selected-details{align-items:stretch;flex-direction:column}.attendance-edit-button{width:100%}.attendance-selected-actions{align-items:stretch;flex-direction:column}.attendance-selected-actions-left,.attendance-selected-actions-right{width:100%}.attendance-selected-actions button{flex:1 1;width:100%}.admin-modal-actions{align-items:stretch;flex-direction:column;gap:.65rem}.admin-modal-actions-group{gap:.65rem;justify-content:stretch;margin-left:0;width:100%}.admin-modal-actions-group>*{flex:1 1;justify-content:center;text-align:center}.admin-header{flex-direction:column}.admin-editor-grid{grid-template-columns:1fr}.admin-editor-heading{align-items:flex-start;flex-direction:column}.admin-gallery-form{align-items:stretch;grid-template-columns:1fr}.admin-gallery-preview{height:8rem;width:12rem}.admin-gallery-order-heading{flex-direction:column}.admin-gallery-order-actions{justify-content:flex-start}.admin-gallery-preview-views{grid-template-columns:1fr}.admin-header-actions{justify-content:flex-start}.admin-submission-details,.admin-submissions-filter{grid-template-columns:1fr}.admin-sms-toolbar,.admin-submission-card-header{flex-direction:column}.admin-sms-form>button,.admin-sms-toolbar>button{margin-top:0;width:100%}.admin-sms-picker{grid-template-columns:1fr}.admin-sms-picker-panel{padding:.75rem}.admin-form label.admin-sms-recipient,.admin-sms-recipient{align-items:flex-start}.admin-sms-recipient span,.admin-sms-selected-list span{flex:1 1 auto;min-width:0}.admin-sms-recipient strong,.admin-sms-selected-list strong{overflow-wrap:anywhere}.admin-sms-selected-list li{align-items:flex-start}.admin-group-create-form{grid-template-columns:1fr}.admin-group-create-form button{margin-top:0;width:100%}.admin-group-card-header{align-items:center}.admin-group-actions{width:100%;gap:.75rem}.admin-group-actions button{flex:1 1 auto}.admin-group-add-member{inline-size:100%}.admin-group-add-member-actions button{flex:1 1 auto}.admin-group-member-actions button{flex:1 1 auto;margin-top:0}.attendance-time-grid{grid-template-columns:1fr}.admin-panel-footer,.attendance-report-download{align-items:stretch;flex-direction:column}.attendance-report-download{margin-left:0}.attendance-report-fields{align-items:stretch;flex-direction:column}.attendance-report-actions,.attendance-report-fields input,.attendance-report-fields label,.attendance-report-fields select{width:100%}.attendance-report-actions button{flex:1 1;min-width:0}.attendance-report-download .admin-download-feedback{text-align:left}.attendance-card>header{flex-direction:column}.attendance-card>header button{margin-top:0}}@media (max-width:600px){.admin-shell{padding:1rem}.admin-card{padding:1.25rem}.admin-header-home-link{margin-bottom:1rem;position:static}}