@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&family=Poppins:wght@400;600&display=swap');
:root{--green:#104f3e;--dark:#14382f;--gold:#c6a663;--cream:#f7f6f0;--muted:#6e7771;--border:#e0e5dc;--font:'DM Sans',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}.organization-name{font-weight:600}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:var(--font);font-size:15px;color:var(--dark);line-height:1.7;background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}svg{flex-shrink:0;vertical-align:middle}h1,h2,h3,h4{font-family:var(--heading);line-height:1.25;letter-spacing:-1.3px;margin:0 0 22px;font-weight:650}h1{font-size:clamp(38px,4.1vw,60px)}h2{font-size:clamp(30px,3vw,42px)}h3{font-size:21px;letter-spacing:-.6px}p{margin:0 0 20px}em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.container{max-width:1240px;margin:auto;width:calc(100% - 100px)}.narrow{max-width:820px}.topbar{background:var(--green);color:#d9e5dc;font-size:11px;letter-spacing:.3px}.topbar .container{display:flex;align-items:center;justify-content:space-between;height:35px;gap:15px}.topbar span,.topbar a{display:flex;align-items:center;gap:7px}.topbar a{font-size:11px}.header {
    position: static;
    background-color: var(--cream);
    background-image:
        linear-gradient(rgba(255, 255, 255, .72), rgba(255, 255, 255, .72)),
        url('bg.webp');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-bottom: 1px solid #e8ebe3;
}.nav-wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;height:98px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{object-fit:contain}.brand strong{display:block;font-family:var(--heading);letter-spacing:.7px;font-size:24px;font-weight:800;line-height:1.3}.brand small{font-size:10px;letter-spacing:.3px;display:block;color:var(--muted)}nav{display:flex;align-items:center;gap:25px}nav>a{font-size:12px;font-weight:600;position:relative;padding:12px 0}nav>a.active:after{content:'';position:absolute;bottom:2px;left:0;width:18px;height:2px;background:var(--gold)}nav>a:hover{color:#a18342}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 23px;background:var(--green);color:white;font-size:13px;font-weight:600;border:1px solid var(--green);border-radius:5px;min-height:50px;transition:background .2s,transform .2s}.btn:hover{background:#0a3e30;color:#fff;transform:translateY(-2px)}.btn-small{padding:11px 17px;gap:12px;min-height:43px;font-size:12px}.btn-gold{background:#dfc58b;border-color:#dfc58b;color:#153f31}.btn-gold:hover{background:#efdab0;color:#153f31}.btn-outline{background:transparent;color:var(--green)}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;font-weight:600;color:var(--green)}.text-link:hover{color:#967839}.nav-toggle{display:none;border:0;background:transparent;color:var(--green);padding:12px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2px;font-weight:700;color:var(--green);margin-bottom:22px}.eyebrow>span:empty{height:6px;width:6px;background:var(--gold);border-radius:50%}.hero{background:var(--cream);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;padding-top:63px;padding-bottom:55px}.hero h1{line-height:1.17;letter-spacing:-2.4px;margin-bottom:24px;max-width:620px}.hero h1 em{line-height:1.22}.hero-description{font-size:15px;color:#6a746d;max-width:440px;line-height:1.9}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:31px}.hero-note{display:flex;align-items:center;gap:15px;margin-top:47px;padding-top:24px;border-top:1px solid #dbdfd4;max-width:430px}.note-icon{border:1px solid #dce2d5;color:var(--green);padding:10px;border-radius:50%}.hero-note p{font-size:11px;color:var(--muted);line-height:1.9;margin:0}.hero-note strong{font-size:12px;color:var(--dark);font-weight:550}.hero-visual{position:relative;padding:0 20px 18px}.image-arch{border-radius:240px 240px 10px 10px;overflow:hidden;position:relative;border:8px solid #ececdd;outline:1px solid #d2d6c5;outline-offset:9px;margin:14px 8px 14px 0;aspect-ratio:.94}.image-arch img{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}.image-caption{position:absolute;bottom:20px;width:100%;text-align:center;left:0;font-size:8px;letter-spacing:2px;color:#e9e7cf}.hero-seal{display:flex;align-items:center;gap:13px;background:#fffef8;border:1px solid #e6e5d8;box-shadow:0 12px 30px #173e2b12;border-radius:6px;position:absolute;bottom:78px;left:-30px;padding:17px 26px 17px 19px}.hero-seal span{font-size:11px;line-height:1.9;color:var(--muted)}.hero-seal strong{font-size:12px;color:var(--green);font-weight:650}.decor-spark{position:absolute;right:-2px;top:4px;font-size:77px;line-height:1;color:var(--gold);font-weight:400}.visual-label{display:flex;justify-content:flex-end;align-items:center;gap:12px;font-size:8px;letter-spacing:2.5px;color:#6f7d6b;padding:18px 6px 0}.visual-label i{width:3px;height:3px;background:var(--gold);border-radius:50%}.values-strip{border-top:1px solid #e6e7db;border-bottom:1px solid #e6e7db;background:#f0f1e7}.values-strip>.container{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:22px;padding-bottom:22px}.values-strip span{font-size:10px;letter-spacing:1px;color:#74806d}.values-strip p{margin:0;display:flex;align-items:center;gap:35px;font-family:Georgia,serif;font-size:20px}.values-strip b{font-weight:400;font-size:22px;color:var(--gold)}.section{padding:90px 0}.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:100px;align-items:start}.about-section{padding-top:95px;padding-bottom:85px}.about-copy{padding-top:36px}.about-copy p{font-size:14px;color:var(--muted);line-height:1.9}.about-copy .lead{font-size:18px;color:var(--dark);line-height:1.85}.about-links{display:flex;gap:38px;border-top:1px solid var(--border);padding-top:22px;margin-top:25px}.about-mark{display:flex;align-items:center;gap:20px;margin-top:30px}.about-mark>span{font-family:Georgia,serif;font-size:31px;color:#b6a071}.about-mark small{font-size:10px;color:#79816f;max-width:150px;border-left:1px solid var(--border);padding-left:20px;line-height:1.7}.program-section{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:38px}.section-heading h2{margin:0}.section-heading p{color:var(--muted);font-size:13px;margin-bottom:5px}.section-heading .text-link{margin-bottom:8px}.program-grid,.article-grid,.gallery-grid,.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.program-card{background:#fff;border:1px solid #dfe3d8;padding:32px 30px 23px;transition:transform .2s,border-color .2s;border-radius:6px}.program-card:hover{transform:translateY(-5px);border-color:var(--gold)}.program-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:33px}.program-icon{color:var(--green);background:#eff4eb;padding:15px;border-radius:50%;line-height:1}.program-top>span:last-child{font-family:Georgia,serif;font-size:23px;color:#b8bda9}.program-card h3{font-size:20px;margin-bottom:13px}.program-card p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:28px}.program-bottom{border-top:1px solid #e6e9df;display:flex;align-items:center;justify-content:space-between;padding-top:19px;font-size:11px;font-weight:600}.article-image{position:relative;display:block;aspect-ratio:1.6;overflow:hidden;border-radius:5px;background:#e4e8d9}.article-image img{height:100%;width:100%;object-fit:cover;object-position:50% 64%;transition:transform .5s}.article-image:hover img{transform:scale(1.05)}.tone-1 img{filter:sepia(.42) saturate(.7);object-position:30% 52%}.tone-2 img{filter:saturate(.5) brightness(1.1);object-position:70% 68%}.sample-label{position:absolute;bottom:10px;left:12px;font-size:7px;letter-spacing:1.3px;background:#f8f5e9df;color:#365444;padding:4px 7px;border-radius:2px}.image-arrow{position:absolute;right:12px;top:12px;width:32px;height:32px;display:grid;place-items:center;background:#fffc;border-radius:50%;color:var(--green)}.article-meta{display:flex;align-items:center;gap:12px;margin:20px 0 12px;font-size:9px}.article-meta>span{color:var(--green);font-weight:600;letter-spacing:.5px;background:#f1f4eb;padding:2px 8px}.article-meta small{color:#7d847c;font-size:9px}.article-card h3{font-size:20px;line-height:1.5;letter-spacing:-.5px;margin-bottom:11px}.article-card h3 a:hover{color:#a08548}.article-card p{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:16px}.read-more{font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:16px;color:var(--green)}.agenda-section{background:#edf2e9;padding:74px 0}.agenda-grid{display:grid;grid-template-columns:.95fr 1.1fr;gap:90px;align-items:center}.agenda-grid h2{margin-bottom:19px}.agenda-grid>div>p{font-size:13px;color:var(--muted);margin-bottom:25px}.agenda-empty{padding:35px;text-align:center;border:1px solid #d4ddce;background:#f7f8f2;border-radius:6px;color:var(--green)}.agenda-empty>svg{margin-bottom:18px;color:#8c9e7b}.agenda-empty h3{font-size:17px;margin-bottom:13px}.agenda-empty p{font-size:12px;color:var(--muted)}.agenda-empty a{display:inline-flex;gap:18px;align-items:center;font-size:11px;font-weight:600}.agenda-row{display:flex;align-items:center;gap:20px;padding:23px 0;border-bottom:1px solid #d0dac9}.agenda-row>.date-box{width:64px;flex-shrink:0;background:#fff;padding:8px;text-align:center;border-radius:4px}.date-box strong{display:block;font-size:25px;line-height:1.3}.date-box span{font-size:10px;text-transform:uppercase;letter-spacing:1px}.agenda-row .eyebrow{font-size:8px;margin-bottom:7px}.agenda-row h3{font-size:17px;margin:0 0 5px}.agenda-row small{color:var(--muted);font-size:11px}.agenda-row>svg{margin-left:auto}.gallery-item{display:block;position:relative;aspect-ratio:1.25;overflow:hidden;border:0;border-radius:5px;padding:0;background:var(--green);text-align:left;color:#fff}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#0a342de8)}.gallery-item>span{position:absolute;bottom:22px;left:24px;right:20px;z-index:1}.gallery-item small{display:block;font-size:7px;letter-spacing:1.5px;margin-bottom:7px;color:#dfd7b5}.gallery-item strong{font-size:15px;font-weight:500;padding-right:27px;display:block;line-height:1.5}.gallery-item svg{position:absolute;right:0;bottom:1px}.cta{position:relative;overflow:hidden;background:var(--green);border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:52px 64px;margin-top:5px;margin-bottom:90px;color:#fff}.cta h2{font-size:39px;margin-bottom:17px}.cta h2 em{color:#e6cf9b}.cta .eyebrow{color:#c3caa9;font-size:9px}.cta p{font-size:12px;color:#cad8c8;margin-bottom:0}.cta>.btn{z-index:1;flex-shrink:0}.cta-pattern{position:absolute;font-size:390px;color:#ffffff06;right:30px;top:-152px;line-height:1}.footer{background:#f7f7f2;border-top:1px solid #e5e8df;padding-top:63px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr 1fr;gap:60px;padding-bottom:48px}.footer .brand strong{font-size:22px}.footer-about>p{font-size:12px;color:var(--muted);max-width:290px;margin-top:22px;line-height:1.9}.footer-motto{font-family:Georgia,serif;color:#9c864f;font-size:13px;font-style:italic}.footer h3{font-family:var(--font);font-size:12px;letter-spacing:0;margin:5px 0 22px;font-weight:650}.footer-grid>div>a:not(.brand){display:block;font-size:11px;color:var(--muted);margin-bottom:12px}.footer-grid>div>a:hover{color:var(--green)}.footer-grid>div>p:not(.footer-about p){font-size:11px;color:var(--muted)}.icon-line{display:flex!important;align-items:flex-start;gap:10px}.icon-line svg{margin-top:3px}.footer-bottom{border-top:1px solid #dfe5d8;display:flex;justify-content:space-between;padding-top:21px;padding-bottom:21px;font-size:9px;color:#7b847a;gap:20px}.page-heading{background:var(--cream);padding:34px 0 57px}.breadcrumb{display:flex;gap:12px;color:var(--muted);font-size:11px;margin-bottom:42px}.breadcrumb a:hover{color:var(--green)}.page-heading h1{font-size:45px;max-width:850px;line-height:1.25;margin-bottom:20px}.page-heading p{color:var(--muted);max-width:650px;font-size:15px}.page-heading small{color:var(--muted);font-size:11px}.filter-bar{display:flex;align-items:center;gap:15px;margin-bottom:35px}.search-field{position:relative;flex:1}.search-field svg{position:absolute;top:16px;left:15px;color:#8b9589}.search-field input{padding-left:45px!important}.filter-bar input,.filter-bar select{border:1px solid var(--border);padding:13px 16px;background:white;border-radius:4px;min-height:49px}.filter-bar input{width:100%}.filter-bar select{max-width:230px}.empty-state{text-align:center;padding:60px 30px;color:var(--muted);background:var(--cream);border:1px dashed var(--border);width:100%;border-radius:7px;margin-bottom:35px}.empty-state h3{margin:20px 0 10px;color:var(--green);font-size:20px}.empty-state p{font-size:13px}.event-card{padding:27px;border:1px solid var(--border);border-radius:6px}.event-card h3{font-size:23px}.event-card p{font-size:13px;color:var(--muted)}.event-card .icon-line{font-size:11px}.detail-cover{width:100%;max-height:500px;object-fit:cover;border-radius:6px;margin-bottom:40px}.body-text{font-size:16px;color:#4b5c50;line-height:2}.event-info{background:var(--cream);padding:25px;border-radius:5px;margin-bottom:35px}.event-info p:last-child{margin-bottom:0}.detail-end{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding-top:30px;margin-top:50px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-grid aside h2{margin-bottom:35px}.contact-grid aside>.icon-line{font-size:14px;color:var(--muted);max-width:300px}.contact-note{margin-top:40px;padding:25px;background:var(--cream);border-left:2px solid var(--gold)}.contact-note p{font-size:12px;color:var(--muted);margin:15px 0 0}.form-card{border:1px solid var(--border);padding:35px;border-radius:7px;background:white}.form-card h3{font-size:25px;margin-bottom:8px}.form-card>p{font-size:13px;color:var(--muted);margin-bottom:28px}.stack-form{display:flex;flex-direction:column;gap:21px}.stack-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#4c5d50}.stack-form input,.stack-form textarea,.stack-form select{border:1px solid #d6ded1;border-radius:4px;background:#fff;color:var(--dark);padding:12px 13px;font-size:14px;line-height:1.5;width:100%;font-weight:400}.stack-form textarea{resize:vertical;min-height:100px}.stack-form input[type=checkbox]{width:auto}.stack-form label.checkbox-label{flex-direction:row;align-items:center;font-weight:400}.stack-form input[type=file]{font-size:12px;background:var(--cream)}input:focus,textarea:focus,select:focus{outline:2px solid #b6c9aa;outline-offset:2px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stack-form>small{color:var(--muted);font-size:10px}.stack-form>.btn{align-self:flex-start}.alert{padding:15px 18px;display:flex;align-items:flex-start;gap:10px;border-radius:5px;font-size:13px;margin-bottom:20px}.alert-success{background:#eaf4e5;color:#2b6239;border:1px solid #cdddbe}.alert-error{background:#fff0e9;color:#9a4225;border:1px solid #ecd3c7}.alert ul{margin:0;padding-left:16px}.honeypot{position:absolute;left:-9999px;opacity:0}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:42px 0 0}.pagination a{display:block;border:1px solid var(--border);padding:8px 14px;border-radius:3px;font-size:12px}.pagination .active a{background:var(--green);color:white}.skip-link{position:absolute;top:-100px;z-index:100;background:var(--green);color:white;padding:10px}.skip-link:focus{top:5px}.lightbox{border:0;padding:35px;background:#f8f7ee;border-radius:8px;max-width:90vw;max-height:90vh;color:var(--green)}.lightbox::backdrop{background:#08281fe8;backdrop-filter:blur(6px)}.lightbox img{max-height:70vh;max-width:80vw;margin:auto;object-fit:contain}.lightbox p{text-align:center;font-size:12px;margin:18px 0 0}.lightbox-close{position:absolute;right:5px;top:0;border:0;background:transparent;font-size:30px;line-height:1;color:var(--green);padding:5px 10px}
@media(min-width:1450px){.hero-grid{gap:90px}.hero h1{font-size:64px}.image-arch{aspect-ratio:.95}}@media(max-width:1150px){.container{width:calc(100% - 60px)}nav{gap:17px}nav>a{font-size:11px}.brand strong{font-size:21px}.brand small{font-size:9px}.brand img{width:43px;height:48px}.hero-grid{gap:35px}.hero-actions{gap:17px}.hero-actions .text-link{font-size:11px;gap:8px}.hero h1{font-size:48px}.hero-seal{left:-15px;padding:13px 18px}.footer-grid{gap:30px}.about-grid{gap:60px}.program-card{padding:25px 23px}.program-card h3{font-size:18px}.values-strip p{gap:23px;font-size:18px}.contact-grid{gap:60px}}@media(max-width:930px){.nav-toggle{display:block}.nav-wrap{height:80px}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:20px 30px;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 10px 20px #123a2b12;flex-wrap:wrap;justify-content:center}nav.open{display:flex}nav>a{font-size:13px;padding:10px}.hero h1{font-size:41px}.hero-grid{gap:30px;padding-top:45px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero-description{font-size:13px}.hero-actions{flex-wrap:wrap;gap:20px}.hero-note{margin-top:30px}.hero-seal{bottom:60px;left:0}.hero-seal img{width:33px;height:38px}.hero-seal span,.hero-seal strong{font-size:10px}.decor-spark{font-size:55px;right:-5px}.hero-visual{padding-right:10px}.section{padding:65px 0}.program-grid{gap:16px}.program-card{padding:22px 18px}.program-card h3{font-size:16px}.program-card p{font-size:12px}.article-grid{gap:20px}.article-card h3{font-size:18px}.article-meta{flex-wrap:wrap;gap:6px}.about-grid,.agenda-grid{gap:45px}.about-copy .lead{font-size:16px}.about-mark{gap:12px}.about-mark small{padding-left:12px}.values-strip p{font-size:16px;gap:16px}.values-strip span{font-size:9px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1;display:flex;align-items:flex-start;gap:25px;flex-wrap:wrap}.footer-grid>div:last-child h3{margin:0}.footer-grid>div:last-child p{max-width:240px}.contact-grid{gap:35px}.cta{padding:40px;margin-bottom:65px}.cta h2{font-size:34px}.gallery-item>span{left:16px;bottom:16px}.gallery-item strong{font-size:13px}}
@media(max-width:650px){.container{width:calc(100% - 40px)}.topbar .top-message{display:none}.topbar{font-size:9px}.topbar .container{height:30px}.topbar a{font-size:9px}.nav-wrap{height:75px}.brand strong{font-size:21px}.brand small{font-size:9px}.brand img{width:41px;height:46px}nav{top:75px;display:none;flex-direction:column;align-items:stretch;gap:3px;padding:15px 20px}nav a{text-align:center}.hero-grid{grid-template-columns:1fr;padding-top:43px;padding-bottom:25px;gap:35px}.hero h1{font-size:clamp(38px,10.8vw,55px);letter-spacing:-1.8px}.hero .eyebrow{font-size:8px;margin-bottom:23px}.hero-description{font-size:14px;max-width:100%}.hero-actions{gap:22px;margin-top:25px}.hero-actions .text-link{font-size:12px}.hero-note{padding-top:20px;margin-top:25px;max-width:100%}.hero-visual{max-width:430px;width:100%;margin:auto;padding:0 15px 15px}.image-arch{aspect-ratio:1.12;margin:16px 10px 10px}.hero-seal{left:0;bottom:70px;padding:12px 19px}.hero-seal span,.hero-seal strong{font-size:11px}.decor-spark{right:0;top:9px}.visual-label{font-size:7px;gap:10px}.values-strip>.container{flex-direction:column;gap:9px;padding:18px 0}.values-strip p{gap:13px;font-size:16px}.values-strip b{font-size:17px}.values-strip span{font-size:9px}.section{padding:57px 0}.about-grid{grid-template-columns:1fr;gap:26px}.about-section h2{margin-bottom:18px}.about-mark{margin-top:20px}.about-copy{padding-top:0}.about-copy .lead{font-size:17px}.about-links{gap:30px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:27px}.section-heading h2{font-size:31px}.section-heading p br{display:none}.section-heading>.text-link{font-size:12px;margin-bottom:0}.eyebrow{font-size:9px;margin-bottom:17px}.program-grid,.article-grid,.gallery-grid,.event-grid{grid-template-columns:1fr;gap:30px}.program-card{padding:26px}.program-top{margin-bottom:23px}.program-card h3{font-size:21px}.program-card p{font-size:13px;margin-bottom:22px}.program-grid{gap:16px}.program-card .program-icon{padding:12px}.article-image{aspect-ratio:1.65}.article-card h3{font-size:22px}.article-card p{font-size:13px}.article-meta{gap:12px;margin-top:16px}.article-meta small{font-size:10px}.read-more{font-size:12px}.agenda-section{padding:50px 0}.agenda-grid{grid-template-columns:1fr;gap:30px}.agenda-empty{padding:30px 20px}.gallery-grid{gap:17px}.gallery-item{aspect-ratio:1.6}.gallery-item strong{font-size:17px}.gallery-item>span{left:24px;bottom:24px}.gallery-item small{font-size:8px}.cta{margin-top:0;margin-bottom:55px;padding:33px 27px;flex-direction:column;align-items:flex-start;gap:25px}.cta h2{font-size:32px}.cta .eyebrow{font-size:7px;letter-spacing:1.6px}.cta p{font-size:12px}.cta-pattern{right:-110px;top:-80px}.footer{padding-top:43px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px;padding-bottom:30px}.footer-about{grid-column:1/-1}.footer-about>p{max-width:100%;font-size:13px}.footer h3{font-size:13px;margin-bottom:16px}.footer-grid>div>a:not(.brand){font-size:12px}.footer-grid>div:last-child{display:block}.footer-grid>div:last-child p{font-size:12px;max-width:100%;margin-top:15px}.footer-bottom{flex-direction:column;gap:6px;font-size:9px}.page-heading{padding:25px 0 35px}.breadcrumb{font-size:10px;margin-bottom:30px}.page-heading h1{font-size:34px}.page-heading p{font-size:14px}.filter-bar{flex-wrap:wrap;gap:10px}.search-field{flex:auto;width:100%}.filter-bar select{flex:1;max-width:none;min-width:0}.filter-bar .btn{padding:12px 18px;gap:12px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid aside h2{font-size:32px}.contact-note{margin-top:22px}.form-card{padding:23px}.form-row{grid-template-columns:1fr;gap:20px}.detail-end{align-items:flex-start}.detail-end a{font-size:11px}.body-text{font-size:15px}.lightbox{padding:30px 15px 15px}.lightbox img{max-width:80vw}.lightbox p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Header identitas: logo dan judul website dalam satu kolom. */
.header .nav-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 14px;
    height: auto;
    padding-top: 20px;
    padding-bottom: 14px;
}

.header-logo {
    display: block;
}

.header-logo img {
    width: 72px;
    height: 78px;
    object-fit: contain;
}

.header-title {
    display: grid;
    gap: 5px;
    max-width: 680px;
    text-align: center;
}

.header-title strong {
    font-family: var(--heading);
    font-size: 29px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 1px;
}

.header-title span {
    width: fit-content;
    max-width: 100%;
    justify-self: center;
    padding: 5px 14px;
    border-radius: 4px;
    background: var(--green);
    color: #fff;
    font-size: 12px;
    line-height: 1.7;
}

.site-navigation {
    position: sticky;
    top: 0;
    z-index: 40;
    background: #fffffff5;
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
}

.navigation-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    width: 100%;
    padding: 12px 0;
}

.site-navigation #navigation {
    position: static;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.site-navigation .nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 930px) {
    .site-navigation .nav-toggle {
        display: inline-flex;
    }

    .site-navigation #navigation {
        display: none;
        margin-top: 10px;
        max-height: 45vh;
        overflow-y: auto;
    }

    .site-navigation #navigation.open {
        display: flex;
    }
}

@media (max-width: 650px) {
    .header .nav-wrap {
        gap: 10px;
        padding-top: 16px;
        padding-bottom: 10px;
    }

    .header-logo img {
        width: 60px;
        height: 65px;
    }

    .header-title strong {
        font-size: 24px;
    }

    .header-title span {
        font-size: 10px;
    }

    .navigation-panel {
        padding-top: 8px;
    }

    .site-navigation #navigation {
        flex-direction: column;
        align-items: stretch;
        gap: 3px;
    }

    .site-navigation #navigation > a {
        text-align: center;
    }
}

/* Dropdown navigasi: tautan induk tetap dapat dikunjungi. */
.site-navigation .nav-dropdown {
    position: relative;
}

.site-navigation .nav-parent {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.site-navigation .nav-link {
    position: relative;
    padding: 12px 0;
    font-size: 12px;
    font-weight: 600;
}

.site-navigation .nav-link:hover,
.site-navigation .has-active-child > .nav-parent,
.site-navigation .nav-submenu a.active {
    color: var(--green);
}

.site-navigation .nav-link.active::after,
.site-navigation .has-active-child .nav-link::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 18px;
    height: 2px;
    background: var(--gold);
}

.site-navigation .submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 36px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--green);
}

.site-navigation .submenu-toggle:hover {
    background: var(--cream);
}

.site-navigation .submenu-toggle svg {
    transform: rotate(0deg);
    transition: transform .2s;
}

.site-navigation .submenu-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.site-navigation .nav-submenu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 45;
    display: grid;
    min-width: 225px;
    max-width: min(320px, calc(100vw - 40px));
    padding: 7px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 12px 28px #14382f1a;
}

.site-navigation .nav-dropdown:last-child .nav-submenu {
    right: 0;
    left: auto;
}

.site-navigation .nav-submenu a {
    padding: 10px 14px;
    border-radius: 4px;
    color: var(--dark);
    font-size: 12px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.site-navigation .nav-submenu a:hover,
.site-navigation .nav-submenu a.active {
    background: #eef4e9;
}

@media (max-width: 930px) {
    .site-navigation #navigation {
        flex-direction: column;
        align-items: stretch;
    }

    .site-navigation #navigation > a {
        text-align: center;
    }

    .site-navigation .nav-link {
        font-size: 13px;
    }

    .site-navigation .nav-submenu {
        position: static;
        min-width: 0;
        max-width: none;
        width: 100%;
        margin: 4px 0 10px;
        border: 0;
        border-left: 2px solid var(--gold);
        background: var(--cream);
        box-shadow: none;
        text-align: center;
    }
}

/* # represents an untargeted menu heading. */
.site-navigation .submenu-heading {
    gap: 8px;
    width: auto;
    height: auto;
    padding: 12px 0;
    font-family: inherit;
    font-weight: 600;
    color: inherit;
}

.site-navigation .nav-placeholder {
    cursor: default;
}

.site-navigation .nav-submenu .nav-placeholder {
    padding: 10px 14px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.6;
}

@media (max-width: 930px) {
    .site-navigation #navigation > .nav-placeholder {
        text-align: center;
    }
}

/* Jembatan hover agar submenu tidak tertutup ketika kursor melewati celah. */
@media (min-width: 931px) {
    .site-navigation .nav-submenu::before {
        content: '';
        position: absolute;
        top: -8px;
        right: 0;
        left: 0;
        height: 8px;
    }
}

/* Slider banner: setiap langkah maju tetap bergerak dari kanan ke kiri. */
.image-slider {
    --slider-transition: 800ms;
    position: relative;
    background: var(--cream);
}

.slider-viewport { overflow: hidden; width: 100%; }

.slider-track {
    display: flex;
    align-items: stretch;
    transition: transform var(--slider-transition) cubic-bezier(.22, .61, .36, 1);
    will-change: transform;
}

.slider-slide { flex: 0 0 100%; min-width: 0; background: var(--cream); }

.slider-image,
.slider-fallback {
    display: block;
    width: 100%;
    aspect-ratio: 5 / 1;
    object-fit: contain;
    background: var(--cream);
}

.slider-media {
    overflow: hidden;
}

.slider-image {
    opacity: .84;
    transform: scale(1.08);
    transform-origin: center;
}

.slider-slide.is-active .slider-image {
    animation:
        slider-image-fade var(--slide-duration, 5s) ease-in-out both,
        slider-image-zoom-out var(--slide-duration, 5s) linear both;
}

@keyframes slider-image-zoom-out {
    from { transform: scale(1.08); }
    to { transform: scale(1); }
}

@keyframes slider-image-fade {
    0%, 100% { opacity: .84; }
    16%, 82% { opacity: 1; }
}

.slider-caption {
    display: grid;
    place-items: center;
    min-height: 48px;
    padding: 10px 24px;
    background: var(--green);
    color: #fff;
    text-align: center;
}

.slider-caption p {
    max-width: 1000px;
    margin: 0;
    font-family: var(--heading);
    font-size: clamp(13px, 1.5vw, 21px);
    font-weight: 600;
    line-height: 1.5;
}

.slider-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.slider-arrow,
.slider-pause {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 4px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: #fff;
    color: var(--green);
}

.slider-arrow { font-size: 19px; }
.slider-pause { font-size: 10px; }
.slider-arrow:hover, .slider-pause:hover { background: var(--cream); }
.slider-dots { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }

.slider-dot {
    display: grid;
    place-items: center;
    width: 30px;
    height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
}

.slider-dot::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #c4cebd;
}

.slider-dot[aria-current="true"]::before {
    width: 20px;
    border-radius: 6px;
    background: var(--green);
}

.slider-status {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.image-slider.is-paused .slider-image { animation-play-state: paused; }

@media (max-width: 650px) {
    .slider-controls { gap: 8px; padding: 8px 12px; }
    .slider-dot { width: 24px; }
    .slider-caption { min-height: 40px; padding: 8px 20px; }
}

@media (prefers-reduced-motion: reduce) {
    .slider-track { transition: none; }
    .slider-image, .slider-slide.is-active .slider-image { animation: none; opacity: 1; transform: none; }
}

/* Berita terkini: satu sampul utama dan empat preview ringkas. */
.latest-news-section {
    padding: 36px 0;
    background: #fff;
}

.latest-news-panel {
    border: 1px solid var(--border);
    border-radius: 6px;
    overflow: hidden;
}

.latest-news-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--border);
    border-left: 4px solid var(--green);
    background: var(--cream);
}

.latest-news-heading h2 {
    margin: 0;
    font-size: 23px;
    letter-spacing: -.7px;
}

.latest-news-heading > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    color: var(--green);
    font-size: 12px;
    font-weight: 600;
}

.latest-news-heading > a:hover {
    color: #967839;
}

.latest-news-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 26px;
    padding: 24px;
}

.latest-news-feature,
.latest-news-item {
    min-width: 0;
}

.latest-news-featured {
    position: relative;
    display: block;
    height: 100%;
    min-height: 360px;
    overflow: hidden;
    border-radius: 5px;
    background: var(--green);
    color: #fff;
}

.latest-news-featured > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s;
}

.latest-news-featured::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 30%, #082c24f2 100%);
}

.latest-news-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    max-height: 2.9em;
    margin: 0;
    line-height: 1.45;
}

.latest-news-featured > .latest-news-title {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;
    z-index: 1;
    font-size: 25px;
    font-weight: 650;
    letter-spacing: -.6px;
}

.latest-news-featured:hover > img {
    transform: scale(1.035);
}

.latest-news-list {
    display: grid;
    align-content: start;
    gap: 16px;
    min-width: 0;
}

.latest-news-row {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    min-height: 78px;
}

.latest-news-row > img {
    width: 128px;
    height: 78px;
    border-radius: 4px;
    object-fit: cover;
    background: var(--cream);
}

.latest-news-row > .latest-news-title {
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -.3px;
}

.latest-news-row:hover > .latest-news-title {
    color: var(--green);
}

.latest-news-empty {
    margin: 0;
    padding: 35px 24px;
    color: var(--muted);
    font-size: 14px;
}

@media (max-width: 930px) {
    .latest-news-grid { gap: 20px; padding: 20px; }
    .latest-news-row { grid-template-columns: 100px minmax(0, 1fr); gap: 12px; }
    .latest-news-row > img { width: 100px; }
    .latest-news-row > .latest-news-title { font-size: 15px; }
    .latest-news-featured > .latest-news-title { font-size: 22px; right: 20px; bottom: 20px; left: 20px; }
}

@media (max-width: 760px) {
    .latest-news-section { padding: 24px 0; }
    .latest-news-heading { padding: 15px 16px; gap: 12px; }
    .latest-news-heading h2 { font-size: 20px; }
    .latest-news-heading > a { font-size: 10px; gap: 6px; }
    .latest-news-heading > a svg { width: 14px; height: 14px; }
    .latest-news-grid { grid-template-columns: minmax(0, 1fr); padding: 16px; }
    .latest-news-featured { min-height: 260px; }
    .latest-news-row { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; }
    .latest-news-row > img { width: 112px; }
}

@media (max-width: 380px) {
    .latest-news-heading h2 { font-size: 18px; }
    .latest-news-heading > a { font-size: 9px; }
    .latest-news-row { grid-template-columns: 90px minmax(0, 1fr); gap: 12px; }
    .latest-news-row > img { width: 90px; }
}

/* Dua kelompok identik membentuk pita dokumentasi yang berulang tanpa celah. */
.documentation-section {
    padding: 0 0 36px;
    background: #fff;
}

.documentation-panel {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 6px;
}

.documentation-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--border);
    border-left: 4px solid var(--green);
    background: var(--cream);
}

.documentation-heading h2 {
    margin: 0;
    font-size: 23px;
    letter-spacing: -.7px;
}

.documentation-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.documentation-actions > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--green);
    font-size: 12px;
    font-weight: 600;
}

.documentation-actions > button {
    padding: 5px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: #fff;
    color: var(--green);
    font-size: 10px;
}

.documentation-actions > button:hover {
    background: #eaf0e4;
}

.documentation-viewport {
    overflow: hidden;
    padding: 22px 0;
}

.documentation-track {
    display: flex;
    width: max-content;
    animation: documentation-running var(--documentation-duration, 60s) linear infinite;
    will-change: transform;
}

.documentation-group {
    display: flex;
    flex: 0 0 auto;
    gap: 16px;
    padding-right: 16px;
}

.documentation-image {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 240px;
    height: 166px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 5px;
    background: var(--green);
    color: #fff;
    text-align: left;
}

.documentation-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}

.documentation-image:hover > img {
    transform: scale(1.04);
}

.documentation-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 35%, #0a342de6);
}

.documentation-image > span {
    position: absolute;
    right: 16px;
    bottom: 14px;
    left: 16px;
    z-index: 1;
}

.documentation-image small {
    display: block;
    margin-bottom: 5px;
    color: #dfd7b5;
    font-size: 7px;
    letter-spacing: 1px;
}

.documentation-image strong {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}

.documentation-section.is-paused .documentation-track,
.documentation-viewport:focus-within .documentation-track {
    animation-play-state: paused;
}

.documentation-empty {
    margin: 0;
    padding: 35px 24px;
    color: var(--muted);
    font-size: 14px;
}

@keyframes documentation-running {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (hover: hover) {
    .documentation-viewport:hover .documentation-track { animation-play-state: paused; }
}

@media (max-width: 650px) {
    .documentation-section { padding-bottom: 24px; }
    .documentation-heading { padding: 15px 16px; gap: 12px; }
    .documentation-heading h2 { font-size: 20px; }
    .documentation-actions { gap: 10px; }
    .documentation-actions > a { font-size: 10px; gap: 5px; }
    .documentation-actions > a svg { width: 14px; height: 14px; }
    .documentation-actions > button { padding: 4px 9px; font-size: 9px; }
    .documentation-viewport { padding: 16px 0; }
    .documentation-image { width: 180px; height: 126px; }
    .documentation-image > span { right: 12px; bottom: 10px; left: 12px; }
    .documentation-image strong { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .documentation-viewport { overflow-x: auto; }
    .documentation-track { animation: none; }
    .documentation-group[aria-hidden="true"],
    .documentation-image[aria-hidden="true"] { display: none; }
}

/* Panel waktu sholat dengan kaca aero, gradasi hijau, dan pantulan cahaya. */
.prayer-section {
    padding: 14px 0 4px;
    background: linear-gradient(180deg, #edf4e9, #fff);
}

.prayer-panel {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    gap: 20px;
    overflow: hidden;
    padding: 10px 20px;
    border: 1px solid #ffffff40;
    border-radius: 11px;
    background:
        radial-gradient(ellipse at 8% 0%, #b5df922b, transparent 55%),
        linear-gradient(125deg, #073d30 5%, #17694f 58%, #0b493b);
    box-shadow:
        0 14px 32px #104f3e26,
        inset 0 1px 0 #ffffff40,
        inset 0 -1px 0 #042e272e;
    color: #fff;
}

.prayer-panel::before {
    content: '';
    position: absolute;
    top: -210px;
    right: -80px;
    z-index: -1;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, #c4e6a13b, #53b69a1f 40%, transparent 68%);
    pointer-events: none;
    animation: prayer-aurora 16s ease-in-out infinite alternate;
}

.prayer-panel::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(110deg, transparent 25%, #ffffff0d 42%, #ffffff17 45%, transparent 62%);
    pointer-events: none;
    animation: prayer-reflection 18s ease-in-out infinite;
}

.prayer-heading {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 114px;
    align-items: center;
    gap: 14px;
    flex: 0 0 330px;
}

.prayer-heading h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 3px;
    color: #f1d99e;
    font-family: var(--font);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
}

.prayer-identity > strong {
    display: block;
    color: #fff;
    font-family: var(--heading);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    text-shadow: 0 2px 8px #04382c40;
}

.prayer-identity > small {
    display: block;
    margin-top: 2px;
    color: #d0e8da;
    font-size: 9px;
}

.prayer-picker {
    display: flex;
    align-items: center;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin: 0;
    color: #d5e9db;
    font-size: 9px;
}

.prayer-picker input {
    min-width: 0;
    width: 114px;
    height: 26px;
    padding: 3px 6px;
    border: 1px solid #ffffff40;
    border-radius: 5px;
    background: #ffffff12;
    box-shadow: inset 0 1px 0 #ffffff14;
    color: #fff;
    color-scheme: dark;
    font-size: 10px;
}

.prayer-picker input:focus-visible {
    outline: 2px solid #dfc58b;
    outline-offset: 3px;
}

.prayer-picker input:disabled {
    opacity: .65;
    cursor: wait;
}

.prayer-grid {
    position: relative;
    display: grid;
    flex: 1;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    min-width: 0;
}

.prayer-item {
    position: relative;
    overflow: hidden;
    padding: 6px;
    border: 1px solid #ffffff38;
    border-radius: 8px;
    background: linear-gradient(150deg, #ffffff24, #ffffff09);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 #ffffff2b, 0 8px 18px #002c251a;
    text-align: center;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.prayer-item:hover {
    transform: translateY(-2px);
    border-color: #ffffff66;
    box-shadow: inset 0 1px 0 #ffffff40, 0 12px 22px #002c2533;
}

.prayer-item > span {
    display: block;
    margin-bottom: 2px;
    color: #e0eee3;
    font-size: 10px;
}

.prayer-item > strong {
    display: block;
    color: #fff;
    font-size: 21px;
    font-weight: 650;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.5px;
    text-shadow: 0 2px 10px #00392a26;
}

.prayer-item > small {
    display: block;
    margin-top: 1px;
    color: #c4dfcf;
    font-size: 7px;
    letter-spacing: 1px;
}

.prayer-item.is-current {
    border-color: #f5dfa6;
    background: linear-gradient(145deg, #fbefc9, #dec38b);
    box-shadow: inset 0 1px 0 #ffffffb3, 0 8px 22px #032d2633;
}

.prayer-item.is-current::after {
    content: '';
    position: absolute;
    top: 6px;
    right: 6px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 3px #104f3e12;
}

.prayer-item.is-current > strong,
.prayer-item.is-current > span {
    color: #154d3c;
    text-shadow: none;
}

.prayer-item.is-current > small {
    color: #476d50;
}

.prayer-section.is-loading .prayer-grid { opacity: .55; }
.prayer-section.has-error [data-prayer-date] { color: #ffe0c3; }

@keyframes prayer-aurora {
    from { transform: translate(-30px, 0) scale(.9); }
    to { transform: translate(-190px, 90px) scale(1.2); }
}

@keyframes prayer-reflection {
    0%, 15% { transform: translateX(-80%); }
    70%, 100% { transform: translateX(80%); }
}

@media (max-width: 1000px) {
    .prayer-panel { gap: 16px; padding: 10px 16px; }
    .prayer-heading { flex-basis: 300px; gap: 10px; }
    .prayer-item > strong { font-size: 20px; }
    .prayer-grid { gap: 6px; }
}

@media (max-width: 760px) {
    .prayer-section { padding-top: 12px; }
    .prayer-panel { display: block; padding: 10px 12px; border-radius: 10px; }
    .prayer-heading { margin-bottom: 10px; text-align: left; }
    .prayer-heading h2 { justify-content: flex-start; }
    .prayer-identity > strong { font-size: 13px; }
    .prayer-identity > small { font-size: 9px; }
    .prayer-picker { align-items: flex-end; }
    .prayer-item { padding: 5px 3px; border-radius: 7px; }
    .prayer-item > strong { font-size: 18px; line-height: 1.2; }
    .prayer-item > span { font-size: 9px; }
    .prayer-item > small { font-size: 7px; }
    .prayer-item.is-current::after { top: 4px; right: 4px; width: 3px; height: 3px; }
}

@media (max-width: 380px) {
    .prayer-heading { grid-template-columns: minmax(0, 1fr) 108px; gap: 8px; }
    .prayer-picker input { width: 108px; }
    .prayer-grid { gap: 4px; }
    .prayer-item > strong { font-size: 16px; }
    .prayer-item > span { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
    .prayer-panel::before, .prayer-panel::after { animation: none; }
    .prayer-item:hover { transform: none; }
}

/* Landing page map, directly before the shared footer. */
.landing-map {
    padding-top: 38px;
    background: linear-gradient(125deg, #edf5e9, #f7faf4);
    border-top: 1px solid #dce8d6;
}
.landing-map-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-bottom: 26px;
}
.landing-map-heading h2 {
    margin: 6px 0 0;
    color: #14523e;
    font-size: clamp(23px, 3vw, 32px);
    letter-spacing: -1px;
}
.landing-map-heading p {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 440px;
    color: #5b7563;
    font-size: 13px;
    line-height: 1.8;
}
.landing-map-heading p svg { flex-shrink: 0; margin-top: 2px; }
.landing-map iframe {
    display: block;
    width: 100%;
    height: 350px;
    border: 0;
    border-top: 1px solid #dce8d6;
}
@media (max-width: 680px) {
    .landing-map-heading { flex-direction: column; align-items: flex-start; gap: 8px; }
    .landing-map-heading p { margin: 0; }
    .landing-map iframe { height: 280px; }
}
/* Shared alumni values: emerald surface and translucent value cards. */
.heritage-panel {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 44px 0;
    color: #fff;
    background:
        radial-gradient(ellipse at 90% 0, #528a6352, transparent 55%),
        linear-gradient(115deg, #0b3d30, var(--green) 55%, #185c46);
    border-block: 1px solid #ffffff12;
}
.heritage-panel::before,
.heritage-panel::after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 360px;
    height: 360px;
    border: 1px solid #ffffff0c;
    border-radius: 50%;
    pointer-events: none;
}
.heritage-panel::before { top: -220px; right: 18%; }
.heritage-panel::after { bottom: -280px; left: 12%; width: 460px; height: 460px; }
.heritage-layout {
    display: grid;
    grid-template-columns: .85fr 1.8fr;
    align-items: center;
    gap: 44px;
}
.heritage-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #dfc58b;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 13px;
}
.heritage-label::before {
    content: '';
    width: 22px;
    height: 2px;
    background: currentColor;
}
.heritage-intro h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(26px, 2.5vw, 35px);
    line-height: 1.22;
    letter-spacing: -1px;
}
.heritage-intro h2 em { color: #dfc58b; }
.heritage-intro > p {
    max-width: 280px;
    margin: 0;
    font-size: 12px;
    line-height: 1.8;
    color: #c0d6c9;
}
.heritage-values {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.heritage-value {
    min-width: 0;
    padding: 22px 17px 20px;
    border: 1px solid #ffffff24;
    border-radius: 16px;
    background: linear-gradient(145deg, #ffffff10, #ffffff04);
    box-shadow: inset 0 1px 0 #ffffff0d, 0 8px 24px #00281c12;
}
.heritage-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 17px;
    color: #e3cb95;
    border: 1px solid #dfc58b38;
    border-radius: 12px;
    background: #dfc58b10;
}
.heritage-value h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 650;
    letter-spacing: -.2px;
}
.heritage-value p { margin: 0; color: #c0d6c9; font-size: 11px; line-height: 1.8; }
@media (max-width: 1050px) {
    .heritage-layout { grid-template-columns: 1fr; gap: 26px; }
    .heritage-intro > p { max-width: 440px; }
    .heritage-intro h2 br { display: none; }
}
@media (max-width: 650px) {
    .heritage-panel { padding: 32px 0; }
    .heritage-values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .heritage-value { padding: 18px 16px; }
    .heritage-icon { margin-bottom: 13px; }
    .heritage-label { font-size: 8px; letter-spacing: 1.6px; }
}
/* Responsive organization chart: every tier fits its available width. */
.organization-chart {
    container-type: inline-size;
    min-width: 0;
    margin: 32px 0;
    padding: clamp(14px, 3vw, 32px);
    border: 1px solid #dbe7d9;
    border-radius: 24px;
    background: radial-gradient(ellipse at 0 0, #edf6e6, transparent 55%), #fafcf8;
    box-shadow: 0 16px 50px #17462d09;
}
.organization-heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.organization-heading > div { flex: 1 1 260px; min-width: 0; }
.organization-heading .eyebrow { margin-bottom: 12px; font-size: clamp(8px, 1.4cqi, 9px); letter-spacing: 1.4px; }
.organization-heading h2 { color: var(--green); font-size: clamp(21px, 3.5cqi, 32px); margin-bottom: 12px; overflow-wrap: anywhere; }
.organization-heading p { max-width: 690px; margin: 0; color: var(--muted); font-size: clamp(11px, 1.8cqi, 13px); line-height: 1.8; overflow-wrap: anywhere; }
.organization-period { display: inline-flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; padding: 9px 14px; border: 1px solid #e3d8b8; border-radius: 20px; background: #fcf8ed; color: #796537; font-size: clamp(10px, 1.5cqi, 11px); font-weight: 600; overflow-wrap: anywhere; }
.organization-scroll { width: 100%; min-width: 0; padding: 8px 0 16px; }
.organization-diagram { width: 100%; min-width: 0; max-width: 1040px; margin: auto; padding: 4px 0 8px; }
.organization-tier { position: relative; min-width: 0; }
.organization-tier + .organization-tier { margin-top: 40px; }
.organization-tier + .organization-tier::before { content: ''; position: absolute; top: -40px; left: 50%; width: 2px; height: 40px; background: #94b4a1; transform: translateX(-50%); }
.organization-tier-cards {
    --organization-active-columns: var(--organization-columns);
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(var(--organization-active-columns), minmax(0, 1fr));
    justify-items: center;
    gap: clamp(8px, 1.8cqi, 18px);
    width: 100%;
    min-width: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}
.organization-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-width: 0;
    max-width: 310px;
    padding: clamp(12px, 2.2cqi, 22px) clamp(8px, 1.8cqi, 18px);
    border: 1px solid #d2e1d4;
    border-radius: clamp(10px, 1.8cqi, 15px);
    background: #fff;
    box-shadow: 0 6px 20px #14452d0a;
    text-align: center;
    overflow-wrap: anywhere;
}
.organization-card > span { max-width: 100%; color: #43805d; font-size: clamp(9px, 1.4cqi, 10px); line-height: 1.6; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }
.organization-card strong { max-width: 100%; margin-top: 7px; color: var(--dark); font-family: var(--heading); font-size: clamp(12px, 2cqi, 15px); line-height: 1.5; }
.organization-card small { max-width: 100%; margin-top: 6px; color: #7c887b; font-size: clamp(10px, 1.5cqi, 11px); line-height: 1.7; }
.organization-tier.tier-1 .organization-card { max-width: 380px; border-color: #bbac72; background: linear-gradient(130deg,#104f3e,#1c674d); box-shadow: 0 10px 24px #104f3e22; }
.organization-tier.tier-1 .organization-card > span { color: #e7cd91; }
.organization-tier.tier-1 .organization-card strong { color: #fff; font-size: clamp(13px, 2.4cqi, 17px); }
.organization-tier.tier-1 .organization-card small { color: #cfdfd2; }
.organization-tier.tier-2 .organization-card { border-top: 3px solid #70a778; background: #f4faf0; }
.organization-tier.tier-2 .organization-tier-cards:has(li:nth-child(2))::before { content: ''; position: absolute; left: calc(50% / var(--organization-active-columns)); right: calc(50% / var(--organization-active-columns)); top: -20px; height: 2px; background: #94b4a1; }
.organization-tier.tier-2 .organization-tier-cards:has(li:nth-child(2)) .organization-card::before { content: ''; position: absolute; top: -20px; left: 50%; width: 2px; height: 20px; background: #94b4a1; }
.organization-tier.tier-2 .organization-card:nth-child(n+5)::before { display: none; }
.organization-tier.tier-3, .organization-tier.tier-4 { padding: 16px clamp(10px, 2cqi, 20px) clamp(10px, 2cqi, 20px); border: 1px solid #a8c1ac; border-radius: 20px; background: #eef5e980; }
.organization-tier.tier-4 { border-color: #d7dfce; background: #f8f8ef80; }
.organization-tier-label { display: block; margin-bottom: 18px; text-align: center; color: #7f7043; font-size: clamp(8px, 1.4cqi, 9px); font-weight: 700; line-height: 1.8; letter-spacing: 1px; overflow-wrap: anywhere; }
.organization-empty { padding: 30px 16px; text-align: center; color: #597b62; border: 1px dashed #cbdac7; border-radius: 16px; }
.organization-empty h3 { margin: 18px 0 10px; font-size: 18px; }
.organization-empty p { margin: 0; font-size: 13px; }
@media (max-width: 650px) {
    .organization-chart { border-radius: 18px; margin: 24px 0; }
    .organization-heading { gap: 14px; margin-bottom: 22px; }
    .organization-tier-cards { --organization-active-columns: var(--organization-mobile-columns); }
    .organization-tier.tier-2 .organization-card:nth-child(n+3)::before { display: none; }
    .organization-tier + .organization-tier { margin-top: 30px; }
    .organization-tier + .organization-tier::before { top: -30px; height: 30px; }
    .organization-tier.tier-2 .organization-tier-cards:has(li:nth-child(2))::before { top: -15px; }
    .organization-tier.tier-2 .organization-tier-cards:has(li:nth-child(2)) .organization-card::before { top: -15px; height: 15px; }
    .organization-tier.tier-3, .organization-tier.tier-4 { border-radius: 14px; }
}
@media (max-width: 360px) {
    .organization-tier-cards { --organization-active-columns: 1; }
    .organization-tier.tier-2 .organization-tier-cards::before,
    .organization-tier.tier-2 .organization-card::before { display: none; }
}
/* Structure page starts with the chart, using the standard public container. */
.structure-page { padding: 40px 0 60px; }
.structure-page .organization-chart { width: 100%; max-width: none; margin: 0 0 30px; }
@media (max-width: 650px) { .structure-page { padding: 24px 0 40px; } }
/* Profile history and vision/mission, inspired by mtqoi. */
.profile-section-intro { max-width: 800px; margin-bottom: 40px; }
.profile-section-intro h2 { font-size: clamp(25px,3.5vw,38px); color: var(--green); }
.profile-section-intro p { color: var(--muted); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.history-timeline { position: relative; max-width: 1080px; margin: auto; padding: 0; list-style: none; }
.history-timeline::before { content: ''; position: absolute; top: 8px; bottom: 8px; left: 50%; width: 3px; transform: translateX(-50%); border-radius: 5px; background: linear-gradient(var(--gold),#438568 45%,var(--gold)); }
.history-event { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 76px minmax(0,1fr); align-items: center; margin-bottom: 28px; }
.history-event:last-child { margin-bottom: 0; }
.history-card { grid-column: 1; grid-row: 1; min-width: 0; padding: clamp(18px,2.5vw,28px); border: 1px solid #dae5d7; border-radius: 20px; background: #fff; box-shadow: 0 12px 35px #174c2f0c; overflow-wrap: anywhere; }
.history-event:nth-child(even) .history-card { grid-column: 3; background: linear-gradient(135deg,#fcfaf1,#f0f8ed); }
.history-marker { position: relative; z-index: 1; grid-column: 2; grid-row: 1; display: grid; place-items: center; width: 46px; height: 46px; margin: auto; border: 5px solid #f7faf4; border-radius: 50%; color: #fff; background: var(--green); box-shadow: 0 0 0 2px #d8bf87; }
.history-date { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px; }
.history-date strong { color: #97773b; font-family: var(--heading); font-size: clamp(20px,2.8vw,28px); line-height: 1.4; }
.history-date > span { padding: 5px 10px; border-radius: 20px; background: #edf4e7; color: #547158; font-size: 10px; font-weight: 600; }
.history-card h3 { margin-bottom: 12px; color: var(--green); font-size: clamp(17px,2vw,21px); line-height: 1.5; letter-spacing: -.4px; }
.history-card > p { margin: 0; color: #6b7a6d; font-size: 13px; line-height: 1.9; }
.history-card > .text-link { margin-top: 20px; font-size: 11px; }
.history-metrics { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.history-metrics li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; padding: 8px 11px; border: 1px solid #e4ebda; border-radius: 10px; background: #f5f8ee; }
.history-metrics strong { color: #a18344; font-size: 17px; }.history-metrics span { color: #657b62; font-size: 10px; }
.profile-empty { padding: 40px 22px; border: 1px dashed #cbdcc8; border-radius: 20px; background: #f5f9f1; text-align: center; color: #538062; }
.profile-empty h3 { margin: 18px 0 10px; font-size: 20px; }.profile-empty p { margin: 0; font-size: 13px; }
.profile-vision { position: relative; overflow: hidden; border: 1px solid #d5e4d4; border-radius: 24px; background: linear-gradient(135deg,#eaf5e8,#faf7e7 55%,#f6fbf4); box-shadow: 0 18px 45px #164d2b10; }
.profile-vision-heading { padding: clamp(22px,3vw,34px); color: white; background: radial-gradient(ellipse at 100% 0,#5b864d66,transparent 65%),linear-gradient(115deg,#0e4838,#1e6a4c); }
.profile-vision-heading .eyebrow { margin-bottom: 12px; color: #e2c88c; }
.profile-vision-heading h2 { font-size: clamp(25px,3vw,36px); margin-bottom: 12px; color: #fff; }
.profile-vision-heading p { max-width: 760px; margin: 0; color: #d0e3d2; font-size: 13px; line-height: 1.9; }
.profile-vision-note { margin: 20px 22px 0; padding: 12px 16px; border-left: 3px solid #c6a663; border-radius: 6px; background: #fcf7e6; color: #88703d; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.profile-vision-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.4fr); gap: 20px; padding: 22px; }
.profile-vision-card, .profile-mission-card { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: start; gap: 16px; min-width: 0; padding: clamp(20px,2.5vw,28px); border-radius: 18px; overflow-wrap: anywhere; }
.profile-vision-card { background: linear-gradient(140deg,#104f3e,#20694f); color: white; box-shadow: 0 10px 25px #12472c16; }
.profile-mission-card { border: 1px solid #dbe7d5; background: #ffffffeb; box-shadow: 0 10px 25px #12472c08; }
.profile-vm-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; color: #355638; background: #e5cd96; }
.profile-vision-card h3, .profile-mission-card h3 { margin: 2px 0 14px; font-family: var(--font); font-size: 10px; letter-spacing: 2px; color: #9b7d40; font-weight: 700; }
.profile-vision-card h3 { color: #e6cd92; }.profile-vision-card p { margin: 0; color: #fff; font-family: Georgia,serif; font-size: clamp(17px,2vw,22px); line-height: 1.8; }
.profile-mission-card ol { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: mission; }
.profile-mission-card li { position: relative; counter-increment: mission; padding-left: 37px; min-height: 27px; color: #5b715e; font-size: 13px; line-height: 1.9; }
.profile-mission-card li::before { content: counter(mission,decimal-leading-zero); position: absolute; top: 1px; left: 0; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 9px; background: #eaf3e3; color: #427552; font-size: 10px; font-weight: 700; }
@media(max-width: 780px) {
    .history-timeline::before { left: 18px; }
    .history-event { grid-template-columns: 38px minmax(0,1fr); align-items: start; column-gap: 12px; }
    .history-card, .history-event:nth-child(even) .history-card { grid-column: 2; }
    .history-marker { grid-column: 1; width: 34px; height: 34px; border-width: 4px; margin-top: 16px; }.history-marker svg { width: 16px; height: 16px; }
    .profile-vision-grid { grid-template-columns: 1fr; padding: 16px; gap: 16px; }
    .profile-vision-card, .profile-mission-card { padding: 22px 18px; }
}
@media(max-width: 430px) {
    .history-event { column-gap: 8px; grid-template-columns: 30px minmax(0,1fr); }.history-timeline::before { left: 14px; }.history-marker { width: 28px; height: 28px; border-width: 3px; }
    .history-card { padding: 17px 14px; border-radius: 15px; }
    .profile-vision-card, .profile-mission-card { grid-template-columns: 1fr; gap: 14px; }.profile-vm-icon { width: 36px; height: 36px; }.profile-vision-note { margin-inline: 16px; }
}
/* History begins directly with its timeline introduction. */
.history-page { padding: 40px 0 60px; }
@media (max-width: 650px) { .history-page { padding: 24px 0 40px; } }

/* Vision and mission begin directly with their dedicated panel. */
.vision-page { padding: 40px 0 60px; }
@media (max-width: 650px) { .vision-page { padding: 24px 0 40px; } }

/* Public activity schedule: table on desktop, labeled rows on mobile. */
.activities-section { padding: 40px 0 60px; }
.activities-notice { margin-bottom: 26px; padding: 15px 18px; border: 1px solid #ebdfbf; border-left: 3px solid #c6a663; border-radius: 12px; background: #fcf8ec; color: #8a7647; font-size: 12px; line-height: 1.9; }
.activities-filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; margin-bottom: 24px; }
.activities-filter label { display: grid; gap: 7px; font-size: 11px; font-weight: 600; color: #5e765e; min-width: 0; }.activities-filter label:first-child { flex: 1 1 280px; }.activities-filter label:nth-child(2) { flex: 0 1 220px; }
.activities-filter input, .activities-filter select { width: 100%; padding: 12px 14px; border: 1px solid #d1dfcc; border-radius: 10px; color: var(--dark); background: #fff; font-size: 13px; min-height: 45px; }
.activities-filter .btn { min-height: 45px; border-radius: 10px; }
.activities-table-panel { border: 1px solid #dce7d6; border-radius: 18px; background: #fff; box-shadow: 0 12px 40px #16482c08; }
.activities-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.activities-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.activities-table th { padding: 16px 18px; background: var(--green); color: #f4f8ee; font-weight: 600; font-size: 11px; text-align: left; letter-spacing: .2px; }
.activities-table th:first-child { width: 6%; border-top-left-radius: 17px; }.activities-table th:nth-child(2) { width: 19%; }.activities-table th:nth-child(3) { width: 34%; }.activities-table th:nth-child(4) { width: 23%; }.activities-table th:last-child { width: 18%; border-top-right-radius: 17px; }
.activities-table td { padding: 20px 18px; border-bottom: 1px solid #e5ecdf; vertical-align: top; color: #65755f; line-height: 1.8; overflow-wrap: anywhere; }
.activities-table tbody tr:nth-child(even) { background: #f6faf2; }.activities-table tbody tr:last-child td { border-bottom: 0; }.activities-table tbody tr:last-child td:first-child { border-bottom-left-radius: 17px; }.activities-table tbody tr:last-child td:last-child { border-bottom-right-radius: 17px; }
.activity-date { display: grid; gap: 5px; }.activity-date strong { color: #375d40; font-size: 12px; font-weight: 600; }.activity-date > span { font-size: 11px; color: #839079; }
.activity-summary > a { color: var(--green); font-family: var(--heading); font-size: 14px; font-weight: 650; line-height: 1.6; }.activity-summary > a:hover { color: #9b7f43; }.activity-summary > p { margin: 8px 0 0; font-size: 11px; color: #8a9782; line-height: 1.9; }
.activity-tags { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }.activity-badge { display: inline-block; padding: 3px 9px; border-radius: 7px; background: #eaf3e3; color: #588056; font-size: 10px; font-weight: 600; }.activity-badge.provisional { background: #f6ead0; color: #987737; }.activity-timing { color: #8a9781; font-size: 10px; }
.activities-table .activities-empty { padding: 40px 20px; text-align: center; }
@media (max-width: 900px) and (min-width: 651px) { .activities-table th, .activities-table td { padding: 14px 10px; }.activity-summary > a { font-size: 12px; } }
@media (max-width: 650px) {
    .activities-section { padding: 24px 0 40px; }
    .activities-filter label:first-child, .activities-filter label:nth-child(2) { flex: 1 1 100%; }.activities-filter .btn { width: 100%; }
    .activities-table-panel { background: transparent; border: 0; box-shadow: none; }.activities-table, .activities-table tbody { display: block; width: 100%; }
    .activities-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .activities-table tr { display: grid; min-width: 0; margin-bottom: 16px; padding: 10px 16px; border: 1px solid #dce7d6; border-radius: 16px; background: #fff; }
    .activities-table td { display: grid; grid-template-columns: minmax(0,88px) minmax(0,1fr); gap: 12px; min-width: 0; padding: 12px 0; font-size: 12px; }
    .activities-table td::before { content: attr(data-label); color: #7b8c71; font-size: 10px; font-weight: 600; }
    .activities-table tr td:last-child { border-bottom: 0; }.activities-table .activities-empty { display: block; }.activities-table .activities-empty::before { content: none; }
}
/* Page title design, first applied to the Kegiatan page. */
.public-page-title {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 22px 0 38px;
    color: #fff;
    background:
        radial-gradient(ellipse at 90% 10%, #6e9c6345, transparent 55%),
        linear-gradient(115deg, #0a3b2f, var(--green) 55%, #226c50);
    border-bottom: 1px solid #d4bf7d;
}
.public-page-title::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -150px;
    right: -90px;
    width: 470px;
    height: 470px;
    border: 1px solid #ffffff12;
    border-radius: 50%;
    box-shadow: 0 0 0 60px #ffffff03, 0 0 0 120px #ffffff03;
    pointer-events: none;
}
.public-page-title::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: auto 0 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #e5cd97, transparent);
}
.public-title-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 26px;
    color: #adcabb;
    font-size: 10px;
}
.public-title-breadcrumb a { color: #d9e7d9; }
.public-title-breadcrumb a:hover { color: #e6cd94; }
.public-title-breadcrumb > span { color: #d8c28b; }
.public-title-breadcrumb svg { color: #7ca38b; }
.public-title-layout { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.public-title-copy { min-width: 0; }
.public-title-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    color: #e0c78c;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}
.public-title-eyebrow::before { content: ''; width: 24px; height: 2px; background: #c6a663; }
.public-title-copy h1 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(29px, 4vw, 43px);
    line-height: 1.25;
    letter-spacing: -1.3px;
    overflow-wrap: anywhere;
}
.public-title-copy p { max-width: 700px; margin: 0; color: #c2d9c9; font-size: 13px; line-height: 1.9; }
.public-title-mark {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    margin-right: 12px;
    color: #e3ce9d;
    border: 1px solid #e4d2a13b;
    border-radius: 28px;
    background: linear-gradient(145deg,#ffffff12,#ffffff03);
    box-shadow: inset 0 1px 0 #ffffff16, 0 12px 30px #002a1d12;
    transform: rotate(-7deg);
}
.public-title-mark svg { transform: rotate(7deg); }
@media (max-width: 650px) {
    .public-page-title { padding: 18px 0 28px; }
    .public-title-breadcrumb { margin-bottom: 22px; font-size: 9px; }
    .public-title-layout { gap: 14px; }
    .public-title-eyebrow { font-size: 8px; letter-spacing: 1px; gap: 7px; }
    .public-title-eyebrow::before { width: 14px; }
    .public-title-copy h1 { font-size: clamp(27px,7vw,34px); letter-spacing: -.8px; }
    .public-title-copy p { font-size: 12px; }
    .public-title-mark { width: 60px; height: 60px; margin-right: 0; border-radius: 18px; }
    .public-title-mark svg { width: 29px; height: 29px; }
}
@media (max-width: 420px) {
    .public-title-layout { position: relative; padding-right: 0; }
    .public-title-mark { position: absolute; top: -40px; right: 2px; width: 38px; height: 38px; border-radius: 12px; }
    .public-title-mark svg { width: 21px; height: 21px; }
}
/* Consistent spacing below page titles across public navigation pages. */
.public-page-title + .section { padding-top: 40px; }
.public-title-meta { display: block; margin-top: 14px; color: #afcbb9; font-size: 11px; }
@media (max-width: 650px) {
    .public-page-title + .section { padding-top: 24px; }
    .public-title-meta { font-size: 10px; }
}
/* Uniform navigation text size on desktop and mobile. */
.site-navigation #navigation > a,
.site-navigation .nav-link,
.site-navigation .nav-submenu > a,
.site-navigation .nav-submenu .nav-placeholder,
.site-navigation .nav-toggle {
    font-size: 18px;
    line-height: 1.5;
}
/* Poppins for the public navigation, including submenu headings and mobile toggle. */
.site-navigation,
.site-navigation #navigation > a,
.site-navigation .nav-link,
.site-navigation .nav-submenu > a,
.site-navigation .nav-submenu .nav-placeholder,
.site-navigation .nav-toggle,
.site-navigation .submenu-heading {
    font-family: 'Poppins', Arial, sans-serif;
}