:root{--fs:20px;--font-body:'Open Sans',system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans',sans-serif;--font-head:'Poppins','Open Sans',system-ui,sans-serif;--c-text:#14211A;--c-head:#0B3D24;--c-link:#0a5a34;--g:#0B3D24;--g2:color-mix(in srgb,var(--g) 84%,#fff);--gold:#C9A227;--gold2:#e0bb3f;--mist:#F1F5F2;--ink:#14211A;--red:#A4262C;--line:#d3ddd6;--mute:#53645a;--w:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:18px}
body{margin:0;font:var(--fs)/1.7 var(--font-body);color:var(--c-text);background:#fff}
img{max-width:100%;height:auto}
a{color:var(--c-link)}
h1,h2,h3{font-family:var(--font-head);font-weight:700;line-height:1.25;margin:0 0 .5em;color:var(--c-head)}
h1{font-size:calc(var(--fs)*2.1)}
.prose h2{font-size:calc(var(--fs)*1.5)}.prose h3{font-size:calc(var(--fs)*1.25)}h2{font-size:calc(var(--fs)*1.75)}h3{font-size:calc(var(--fs)*1.25)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 16px}.narrow{max-width:812px;margin-left:max(0px,calc((100vw - var(--w))/2));margin-right:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:100}.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.hp{position:absolute;left:-9999px}
/* top row */
.topbar{background:var(--g);color:#e5efe8;font-size:.88rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:38px;flex-wrap:wrap}
.topbar a{color:#e5efe8;text-decoration:none}.contact-line{display:flex;gap:18px;flex-wrap:wrap}
.social{display:flex;gap:6px;flex-wrap:wrap}
.social a{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;color:inherit}
.social a:hover{background:var(--gold);color:#000}
/* header + nav */
.head{background:#fff;position:relative;z-index:50}
.headrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:var(--head-pad);padding-bottom:var(--head-pad)}
.brand{display:flex;align-items:center;gap:20px;text-decoration:none;color:var(--c-head);min-width:0}
.brand img{width:var(--logo);height:var(--logo);flex:none;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--gold),0 6px 16px #0003}
.brand span{display:block;min-width:0;border-left:4px solid var(--gold);padding-left:20px}
.brand b{display:block;font:700 clamp(1.2rem,3.2vw,var(--name-fs))/1.15 var(--font-head);color:var(--c-head);letter-spacing:-.01em}.brand small{display:block;margin-top:.35em;font:600 clamp(.9rem,1.8vw,var(--tag-fs))/1.3 var(--font-body);color:#7a5f08}
.burger{display:none;background:var(--g);border:0;border-radius:6px;width:46px;height:42px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger i{display:block;width:22px;height:2px;background:#fff}
.nav{background:var(--g);border-bottom:4px solid var(--gold)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:flex-start}
.nav li{position:relative}
.nav a{display:block;color:#fff;text-decoration:none;padding:.75rem .7rem;font-weight:600;font-size:var(--nav-fs)}
.nav li:hover>a,.nav li.on>a,.nav a:focus-visible{background:var(--g2)}
.nav li.navcta>a{background:var(--gold);color:#101a14}.nav li.navcta:hover>a{background:var(--gold2)}
.nav .sub{display:none;position:absolute;left:0;top:100%;min-width:220px;background:#fff;box-shadow:0 8px 18px #0003;border-top:3px solid var(--gold);z-index:60;flex-direction:column}
.nav .sub a{color:var(--ink);font-weight:500;padding:.65rem 1rem;border-bottom:1px solid var(--line)}
.nav .sub a:hover{background:var(--mist)}
.nav li:hover>.sub,.nav li.open>.sub,.nav li:focus-within>.sub{display:flex}
.has-sub>a::after{content:"";display:inline-block;margin-left:.45em;border:4px solid transparent;border-top-color:currentColor;vertical-align:-2px}
.subtoggle{display:none}
/* hero + slider */
.hero{position:relative;background:var(--g)}
.slider{position:relative;overflow:hidden;background:#0a2a1a;aspect-ratio:var(--slider-ratio);min-height:280px}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s;pointer-events:none}
.slide.on{opacity:1;pointer-events:auto}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:70px 0 54px;background:linear-gradient(transparent,#041a0ecc 70%);color:#fff}
.slide h2{color:#fff;font-size:clamp(calc(var(--fs)*1.6),4.2vw,calc(var(--fs)*2.5));max-width:760px}.slide p{max-width:640px;font-size:1.1rem;margin:0 0 1rem}
.sl-ctl button{position:absolute;top:50%;transform:translateY(-50%);background:#0008;color:#fff;border:0;width:44px;height:56px;font-size:2rem;cursor:pointer}
#slPrev{left:0}#slNext{right:0}
.sl-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px}
.sl-dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}.sl-dots button.on{background:var(--gold);border-color:var(--gold)}
.herotext{padding:56px 0 40px;color:#fff;background:linear-gradient(135deg,var(--g),#06251a)}
.herotext h1{color:#fff;font-size:clamp(calc(var(--fs)*1.9),5vw,calc(var(--fs)*3));max-width:800px}.herotext p{font-size:1.2rem;max-width:620px;color:#dbeadf}
.verifybox{background:#fff;border-radius:8px;padding:14px 16px;margin:18px 0 0;max-width:520px;box-shadow:0 4px 14px #0003;color:var(--ink)}
.hero>.wrap .verifybox{margin:-34px 0 0;position:relative;z-index:5}
.verifybox label{display:block;font-weight:700;margin-bottom:6px;color:var(--g)}
.verifybox div{display:flex;gap:8px}.verifybox input{flex:1;min-width:0}
.verifybox.big{max-width:none;box-shadow:none;border:1px solid var(--line);background:var(--mist);margin:0 0 20px}
/* buttons + forms */
.btn{display:inline-block;background:var(--g);color:#fff;border:2px solid var(--g);border-radius:6px;padding:.6rem 1.2rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--g2)}.btn.gold{background:var(--gold);border-color:var(--gold);color:#101a14}.btn.gold:hover{background:var(--gold2)}
.btn.line{background:transparent;color:#fff;border-color:#fff}.btn.line:hover{background:#ffffff22}.btn.big{padding:.8rem 1.8rem;font-size:1.05rem}
input,select,textarea{font:inherit;color:var(--ink);border:1px solid #9fb2a6;border-radius:6px;padding:.6rem .7rem;background:#fff;max-width:100%;width:100%}
.verifybox input{width:auto}
.regform label{display:block;font-weight:600;margin-bottom:14px}.regform input,.regform select,.regform textarea{display:block;margin-top:4px;font-weight:400}
.regform i{color:var(--red);font-style:normal}
.regform fieldset{border:1px solid var(--line);border-radius:8px;padding:16px 16px 4px;margin:0 0 20px}
.regform legend{font:700 1.15rem var(--font-head);color:var(--g);padding:0 8px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.muted{color:var(--mute)}
.notice{border:1px solid;border-radius:8px;padding:14px 18px;margin:0 0 20px}
.notice.ok{background:#e6f4ea;border-color:#8cc79b}.notice.err{background:#fcebea;border-color:#e3a3a3;color:#6d1a1e}.notice ul{margin:6px 0 0;padding-left:20px}
.ref{font:700 1.3rem monospace;background:#fff;padding:2px 8px;border-radius:4px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 20px;margin:12px 0}.facts dt{font-size:.85rem;color:var(--mute)}.facts dd{margin:0;font-weight:700}
/* sections */
.sec{padding:52px 0}.sec.alt{background:var(--mist)}
.sechead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;flex-wrap:wrap}.sechead h2{margin:0}
.lead{font-size:1.2rem;font-family:var(--font-head)}
.pagehead{background:linear-gradient(135deg,var(--g),#06251a);color:#fff;padding:var(--pagehead-pad) 0}
.pagehead h1{color:#fff;margin:0;font-size:clamp(calc(var(--fs)*1.6),4vw,calc(var(--fs)*2.3))}.pagehead p{margin:.4rem 0 0;color:#cfe3d5}
.grid3,.grid4{display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.cb{padding:16px}.card h3{margin-bottom:.3em}.card h3 a{color:inherit;text-decoration:none}.card h3 a:hover{text-decoration:underline}.card p{margin:0 0 .6em}
.meta{font-size:.85rem;color:var(--mute)}
.person img,.person .ph{aspect-ratio:1/1;border-radius:0}
.person .role{font-weight:700;color:#0a5a34}
.ph{display:flex;align-items:center;justify-content:center;background:var(--g);color:var(--gold2);font:700 2.6rem var(--font-head);aspect-ratio:16/10}
.story{border-left:4px solid var(--gold)}.story img,.story .ph{aspect-ratio:3/2}.story .who{font-size:.92rem;color:var(--mute)}
.counters{background:var(--g);color:#fff;padding:30px 0}
.counters dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin:0;text-align:left}
.counters dt{order:2;color:#cfe3d5;font-size:.95rem}.counters dd{margin:0;font:700 2.4rem var(--font-head);color:var(--gold2)}.counters div{display:flex;flex-direction:column;border-left:3px solid var(--gold);padding-left:14px}
.cta{background:var(--gold);padding:44px 0}.cta h2{color:#101a14}.cta p{max-width:620px}.cta .btn{background:var(--g);border-color:var(--g);color:#fff}
.prose{font-size:1.05rem}.prose img{border-radius:6px}.prose h2{margin-top:1.4em}.prose blockquote{border-left:4px solid var(--gold);margin-left:0;padding-left:16px;color:var(--mute)}
.feature{width:100%;border-radius:8px;margin:12px 0 20px}
.share a{margin-right:12px}
.newslist{list-style:none;padding:0}.newslist li{padding:12px 0;border-bottom:1px solid var(--line)}.newslist .meta{display:block}
.filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.filter input{flex:1 1 220px;width:auto}.filter select{width:auto}
.pager{display:flex;gap:6px;flex-wrap:wrap;margin-top:28px}.pager a{padding:6px 13px;border:1px solid var(--line);border-radius:5px;text-decoration:none}.pager a.on{background:var(--g);color:#fff;border-color:var(--g)}
.emptynote{color:var(--mute)}
.two-col{display:grid;grid-template-columns:3fr 2fr;gap:36px}.map{width:100%;height:320px;border:0;border-radius:8px;margin-top:16px}
address{font-style:normal}
/* footer */
.foot{background:#06251a;color:#cfe3d5;margin-top:0}
.foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.2fr;gap:28px;padding-top:40px;padding-bottom:30px}
.foot h2{color:var(--gold2);font-size:1.1rem}.foot a{color:#e5efe8}.foot ul{list-style:none;padding:0;margin:0}.foot li{margin-bottom:4px}
.foot .btn{margin:4px 4px 0 0}.foot .social a:hover{color:#000}
.legal{border-top:1px solid #ffffff22;font-size:.85rem}.legal .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
/* floating news + whatsapp */
.newsbox{position:fixed;left:14px;bottom:14px;width:300px;max-width:calc(100vw - 90px);background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:8px;box-shadow:0 8px 24px #0004;z-index:80;font-size:.92rem;animation:nbin .5s ease-out}
.newsbox[hidden]{display:none}
.nb-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--g);color:#fff;border-radius:4px 4px 0 0}
.nb-head button{background:none;border:0;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 4px}
.newsbox ul{margin:0;padding:8px 12px 4px 28px;max-height:200px;overflow:auto}.newsbox li{margin-bottom:6px}
.nb-all{display:block;padding:0 12px 10px;font-weight:600}
@keyframes nbin{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.wafloat{position:fixed;right:14px;bottom:14px;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0005;z-index:80}
.wafloat svg{width:30px;height:30px}
@media(max-width:900px){.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}.foot .cols{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}}
@media(max-width:760px){
 body{font-size:calc(var(--fs) - 1px)}
 .burger{display:flex}.brand{gap:12px}.brand img{width:68px;height:68px;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gold)}.brand span{padding-left:12px;border-left-width:3px}.brand b{font-size:1.2rem}.brand small{font-size:.9rem;margin-top:.2em}
 .js .nav{display:none}.js .nav.open{display:block}
 .nav ul{flex-direction:column;align-items:stretch}.nav li{border-top:1px solid #ffffff22}
 .nav li.has-sub{display:grid;grid-template-columns:1fr 46px}
 .nav .sub{position:static;display:none;grid-column:1/-1;box-shadow:none;border-top:0;background:var(--g2)}
 .nav .sub a{color:#fff;border-bottom:0;padding-left:2rem}.nav .sub a:hover{background:#0b3d24}
 .nav li:hover>.sub{display:none}.nav li.open>.sub{display:flex}
 .has-sub>a::after{display:none}
 .subtoggle{display:block;background:none;border:0;border-left:1px solid #ffffff22;cursor:pointer;position:relative}
 .subtoggle::after{content:"";position:absolute;left:50%;top:50%;margin:-2px 0 0 -5px;border:5px solid transparent;border-top-color:#fff}
 .sl-ctl button{width:30px;height:44px;font-size:1.4rem}.slide figcaption .wrap{padding-left:40px;padding-right:40px}
 .slider{aspect-ratio:4/3;min-height:0}.slide figcaption{padding:40px 0 44px}.slide p{display:none}
 .grid3,.grid4{grid-template-columns:1fr}.two{grid-template-columns:1fr}.foot .cols{grid-template-columns:1fr}
 .sec{padding:36px 0}.newsbox{width:calc(100vw - 90px)}
 .hero>.wrap .verifybox{margin-top:-24px}
}
@media(prefers-reduced-motion:reduce){.slide{transition:none}.newsbox{animation:none}html{scroll-behavior:auto}}
[hidden]{display:none!important}

.fs-sm{font-size:.85em}.fs-lg{font-size:1.25em}.fs-xl{font-size:1.6em}.fs-xxl{font-size:2.1em}
.c-green{color:#0B3D24}.c-gold{color:#9a7a0a}.c-red{color:#A4262C}.c-blue{color:#1f4e9c}.c-gray{color:#5a6670}.c-black{color:#000}
.ta-center{text-align:center}.ta-right{text-align:right}.ta-justify{text-align:justify}

/* page layout options chosen in the CMS */
.no-tag .brand small{display:none}
.lg-center .headrow{justify-content:center;position:relative}
.lg-center .brand{flex-direction:column;text-align:center;gap:12px}
.lg-center .brand span{border-left:0;padding-left:0}
.lg-center .burger{position:absolute;right:16px;top:50%;transform:translateY(-50%)}
.lg-right .headrow{flex-direction:row-reverse}
.lg-right .brand{flex-direction:row-reverse;text-align:right}
.lg-right .brand span{border-left:0;padding-left:0;border-right:4px solid var(--gold);padding-right:20px}
.nav-center .nav ul{justify-content:center}.nav-right .nav ul{justify-content:flex-end}
@media(min-width:761px){.sticky-nav .nav{position:sticky;top:0;z-index:60}}
@media(max-width:760px){.lg-center .brand{flex-direction:row;text-align:left}.lg-center .brand span{border-left:3px solid var(--gold);padding-left:12px}.lg-center .headrow{justify-content:space-between}.lg-center .burger{position:static;transform:none}.lg-right .headrow{flex-direction:row}.lg-right .brand{flex-direction:row;text-align:left}.lg-right .brand span{border-right:0;padding-right:0;border-left:3px solid var(--gold);padding-left:12px}.nav-center .nav ul,.nav-right .nav ul{justify-content:flex-start}}
/* extra bars */
.xbar{padding:.6em 0;font-weight:600}.xbar-in>*:last-child{margin-bottom:0}.xbar p{margin:0 0 .4em}
.xbar-small{font-size:.8em;padding:.35em 0}.xbar-large{font-size:1.25em;padding:1.1em 0}
.xbar a{color:inherit}.xbar-btn{display:inline-block;padding:.25em .9em;border-radius:5px;font-weight:700;text-decoration:none;margin-left:.5em}.xbar-btn:hover{opacity:.88}
.xbar img{max-height:3em;vertical-align:middle}
.xbar-in p:last-of-type{display:inline;margin:0}
/* forms built in the CMS */
.fgrid{display:flex;flex-wrap:wrap;gap:0 16px}.fitem{flex:1 1 100%;margin-bottom:14px}.fitem.half{flex:1 1 calc(50% - 8px)}
.fsec{flex:1 1 100%;margin:20px 0 10px;padding-bottom:6px;border-bottom:3px solid var(--gold);font-size:calc(var(--fs)*1.3)}.fpara{flex:1 1 100%;color:var(--mute)}
.fitem label{margin-bottom:0}.choice{border:0;padding:0;margin:0}.choice legend{font-weight:600;padding:0;margin-bottom:6px}
.regform .opt{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-bottom:6px}.regform .opt input{display:inline-block;width:auto;margin:.35em 0 0}
.fhelp{display:block;color:var(--mute);margin-top:4px;font-size:.85em}.ferr{display:block;color:var(--red);font-weight:600;margin-top:4px;font-size:.9em}.fitem.bad input,.fitem.bad select,.fitem.bad textarea{border-color:var(--red)}
.fbtns{margin-top:10px}.btn.line.dark{color:var(--g);border-color:var(--g)}.btn.line.dark:hover{background:var(--mist)}
@media(max-width:760px){.fitem.half{flex:1 1 100%}}
/* charts */
.chart{width:100%;height:auto;display:block;max-height:420px}.chart .grid{stroke:#dfe6e1;stroke-width:1}.chart .base{stroke:#9aa9a0;stroke-width:1.5}
.chart .axis{fill:#53645a;font:13px var(--font-body)}.chart .val{fill:var(--c-text);font:600 12.5px var(--font-body)}.chart .bar.c1{fill:#1F7A4D}.chart .bar.c2{fill:#D19A1A}
.legend{list-style:none;display:flex;gap:22px;flex-wrap:wrap;padding:0;margin:0 0 8px;font-weight:600}.legend .sw{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:8px;vertical-align:-1px}.sw.c1{background:#1F7A4D}.sw.c2{background:#D19A1A}
.hbars{display:grid;gap:12px}.hbar{display:grid;grid-template-columns:minmax(120px,36%) 1fr 4.5ch;gap:12px;align-items:center}.hbar .lbl{font-weight:600}
.hbar .track{display:block;height:20px;background:#e8eeea;border-radius:0 4px 4px 0}.hbar .fill{display:block;height:100%;background:#1F7A4D;border-radius:0 4px 4px 0}.hbar b{text-align:right}
.tview{margin-top:12px}.tview summary{cursor:pointer;color:var(--c-link);font-weight:600}.tview table{border-collapse:collapse;margin-top:8px;width:100%}.tview td,.tview th{border:1px solid var(--line);padding:6px 10px;text-align:left}
.chartcard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px}.chartcard h3{margin-top:0}
.chartgrid{display:grid;grid-template-columns:3fr 2fr;gap:22px}
@media(max-width:900px){.chartgrid{grid-template-columns:1fr}.hbar{grid-template-columns:1fr 4ch;grid-template-areas:"l v" "t t"}.hbar .lbl{grid-area:l}.hbar b{grid-area:v}.hbar .track{grid-area:t}}
/* news & updates, events, jobs, tags */
.nlist{display:grid;gap:0}.nitem{display:grid;grid-template-columns:84px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.nitem:has(.nimg){grid-template-columns:84px 1fr 150px}
.dblock{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--g);color:#fff;border-radius:8px;border-bottom:4px solid var(--gold);padding:8px 4px;height:fit-content;text-align:center}
.dblock b{font:700 1.9rem/1 var(--font-head)}.dblock span{font-weight:700;text-transform:none;letter-spacing:.04em}.dblock small{opacity:.8}
.nbody h3{margin:0 0 .25em;font-size:calc(var(--fs)*1.15)}.nbody h3 a{color:var(--c-head);text-decoration:none}.nbody h3 a:hover{text-decoration:underline}.nbody p{margin:0 0 .4em}.more{font-weight:700}
.nimg{width:150px;height:100px;object-fit:cover;border-radius:6px}
.newsbox-home{background:#fff;border:1px solid var(--line);border-top:5px solid var(--gold);border-radius:8px;padding:6px 22px 18px}.newsbox-home .nitem:last-of-type{border-bottom:0}
.btnrow{margin-top:14px}.event .ph{font-size:2rem}.event .cb p.meta{margin-bottom:.3em}
.tabs{display:flex;gap:8px;margin:0 0 20px}.tabs a{padding:8px 18px;border:2px solid var(--g);border-radius:6px;text-decoration:none;font-weight:700;color:var(--g)}.tabs a.on{background:var(--g);color:#fff}
.jobcard{margin-bottom:18px}.jobcard.closed{opacity:.7}
.tag{display:inline-block;border-radius:12px;padding:1px 12px;font-size:.8em;font-weight:700;background:#e8eeea}.tag.open,.tag.ongoing{background:#d4ecd9;color:#0b3d24}.tag.closed{background:#f1d9d9;color:#7d1a1f}.tag.planned{background:#fff1c9;color:#6b4f00}.tag.completed{background:#dde7f6;color:#1f3f73}
.slide .slabel{display:inline-block;background:var(--gold);color:#101a14;font-weight:800;padding:2px 14px;border-radius:4px;margin-bottom:10px;font-size:.8em}
.slide .slink{position:absolute;inset:0;z-index:2}.slide figcaption .btn{position:relative;z-index:3}
.slide a.slink:focus-visible{outline:4px solid var(--gold);outline-offset:-6px}
@media(max-width:760px){.nitem,.nitem:has(.nimg){grid-template-columns:64px 1fr}.nimg{grid-column:1/-1;width:100%;height:auto;aspect-ratio:16/9}.dblock b{font-size:1.5rem}}
/* prospectus (screen + print) */
.prosp .pcover{text-align:center;padding:30px 0 20px;border-bottom:4px solid var(--gold);margin-bottom:10px}.prosp .pcover img{border-radius:50%;box-shadow:0 0 0 4px #fff,0 0 0 8px var(--gold)}
.prosp .pcover h1{margin:18px 0 6px}.ptag{font-size:1.2em;color:var(--mute);margin:0}.pyear{display:inline-block;background:var(--g);color:#fff;padding:4px 22px;border-radius:4px;font-weight:700;margin:14px 0}
.psec{padding:14px 0}.psec h2{border-bottom:3px solid var(--gold);padding-bottom:6px}
.ptable{width:100%;border-collapse:collapse}.ptable th,.ptable td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.ptable th{background:var(--mist)}
@media print{
 @page{size:A4;margin:16mm}
 body{font-size:11.5pt;color:#000;background:#fff}h1{font-size:26pt}h2{font-size:17pt}h3{font-size:13pt}
 .topbar,.head,.nav,.xbar,.foot,.noprint,.newsbox,.wafloat,.skip{display:none!important}
 .sec{padding:0}.wrap{max-width:none;padding:0}.psec{break-inside:avoid-page;page-break-inside:avoid}.pcover{break-after:page;page-break-after:always;padding-top:40mm}
 a{color:#000;text-decoration:none}.ptable tr{break-inside:avoid}
}

/* ===== ipsweb5: moving text, quick links, chat, faculty & stories, daily log ===== */
.ticker{background:var(--g);color:#fff;border-bottom:3px solid var(--gold);font-size:.92rem}
.ticker.tk-gold{background:var(--gold);color:#101a14}.ticker.tk-red{background:var(--red)}.ticker.tk-dark{background:#0d1511}
.tkrow{display:flex;align-items:center;gap:14px;padding-top:0;padding-bottom:0}
.tk-label{flex:none;background:var(--gold);color:#101a14;font-weight:700;padding:.35rem .9rem;border-radius:0 0 8px 8px;margin:0;font-size:.85rem}
.tk-gold .tk-label{background:var(--g);color:#fff}.tk-red .tk-label,.tk-dark .tk-label{background:#fff;color:#101a14}
.tk-view{flex:1;overflow:hidden;position:relative;min-width:0}
.tk-track{display:flex;width:max-content;animation:tkL var(--tk-dur,40s) linear infinite}
.tk-list{display:flex;list-style:none;margin:0;padding:0;gap:56px;padding-right:56px;white-space:nowrap}
.tk-list li{padding:.4rem 0}.ticker a{color:inherit;text-decoration:none}.ticker a:hover{text-decoration:underline}
.tk-list li:before{content:"◆";margin-right:12px;font-size:.6em;vertical-align:middle;opacity:.7}
.tk-right .tk-track{animation-name:tkR}
.tk-up .tk-view,.tk-down .tk-view{height:3.1em}
.tk-up .tk-track,.tk-down .tk-track{flex-direction:column;width:auto;animation-name:tkU}
.tk-down .tk-track{animation-name:tkD}
.tk-up .tk-list,.tk-down .tk-list{flex-direction:column;gap:0;padding:0;white-space:normal}.tk-up .tk-list li,.tk-down .tk-list li{height:3.1em;display:flex;align-items:center;overflow:hidden}
.tk-up .tk-list li:before,.tk-down .tk-list li:before{flex:none}
.ticker:hover .tk-track,.ticker.paused .tk-track,.ticker:focus-within .tk-track{animation-play-state:paused}
.tk-pause{flex:none;background:#ffffff26;color:inherit;border:0;border-radius:4px;font-size:.6rem;padding:.35rem .5rem;cursor:pointer}
@keyframes tkL{to{transform:translateX(-50%)}}@keyframes tkR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes tkU{to{transform:translateY(-50%)}}@keyframes tkD{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.vscroll{height:380px;overflow:hidden;position:relative}.vs-in{animation:tkU var(--vs-dur,30s) linear infinite}.vs-down .vs-in{animation-name:tkD}
.vscroll:hover .vs-in,.vscroll:focus-within .vs-in{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.tk-track,.vs-in{animation:none!important}.tk-view{overflow-x:auto}.vscroll{overflow-y:auto}.tk-up .tk-view,.tk-down .tk-view{overflow-y:auto}}

.quick{background:var(--mist);border-bottom:1px solid var(--line);padding:18px 0}
.quick ul{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.quick a{display:block;background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:8px;padding:.7rem 1rem;text-decoration:none;color:var(--c-head);height:100%;transition:box-shadow .2s,transform .2s}
.quick a:hover{box-shadow:0 6px 18px #0b3d2425;transform:translateY(-2px)}.quick b{display:block;font-family:var(--font-head);font-size:.98rem}.quick span{display:block;color:var(--mute);font-size:.8rem;line-height:1.35}

.aiband{background:linear-gradient(120deg,#0B3D24,#14603b);color:#fff;padding:34px 0}.aiband .wrap{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.aiband h2{color:#fff;margin-bottom:.2em}.aiband p{margin:0;max-width:640px;opacity:.92}

.chatfab{position:fixed;right:14px;bottom:80px;z-index:85;display:flex;align-items:center;gap:8px;background:var(--gold);color:#101a14;border:0;border-radius:999px;padding:.7rem 1.1rem;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;box-shadow:0 6px 18px #0006}
.chatfab.on{background:var(--g);color:#fff}
.chatpanel{position:fixed;right:14px;bottom:140px;width:370px;max-width:calc(100vw - 28px);height:520px;max-height:calc(100vh - 170px);z-index:86;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 44px #0007;display:flex;flex-direction:column;overflow:hidden;font-size:.88rem;line-height:1.5}
.chatpanel[hidden]{display:none}
.cp-head{background:var(--g);color:#fff;padding:.7rem 1rem;display:flex;justify-content:space-between;align-items:center}.cp-head b{display:block;font-family:var(--font-head)}.cp-head small{opacity:.8;font-size:.75rem}
.cp-head button{background:none;border:0;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.cp-log{flex:1;overflow-y:auto;padding:12px;background:#f6f9f7;display:flex;flex-direction:column;gap:8px}
.msg{max-width:88%;padding:.5rem .8rem;border-radius:12px;word-wrap:break-word}.msg p{margin:0}.msg.bot{background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:3px}
.msg.me{background:var(--g);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}.msg.me a{color:#fff}
.aitag{display:block;margin-top:6px;color:var(--mute);font-size:.72rem}
.cp-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{display:inline-block;background:#fff;border:1px solid var(--g);color:var(--g);border-radius:999px;padding:.2rem .7rem;font:inherit;font-size:.78rem;cursor:pointer;text-decoration:none;line-height:1.4}
.chip:hover{background:var(--g);color:#fff}.chip.g{border-color:var(--gold);color:#6b5400}
.cp-chips{padding:6px 10px;display:flex;gap:6px;overflow-x:auto;border-top:1px solid var(--line);background:#fff;flex:none;scrollbar-width:thin}.cp-chips .chip{white-space:nowrap;flex:none}
.cp-form{display:flex;gap:8px;padding:8px 10px;border-top:1px solid var(--line);background:#fff}.cp-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:.45rem .7rem;font:inherit;font-size:.9rem}
.cp-form .btn{padding:.4rem .9rem;font-size:.9rem}
.cp-note{margin:0;padding:0 12px 8px;font-size:.7rem;color:var(--mute);background:#fff}
.typing i{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:var(--mute);animation:tdot 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tdot{0%,80%,100%{opacity:.25}40%{opacity:1}}
@media(max-width:600px){.chatpanel{right:8px;left:8px;width:auto;bottom:8px;height:calc(100vh - 90px);max-height:none}.chatfab span{display:none}.chatfab{padding:.8rem}}

.chips{display:flex;flex-wrap:wrap;gap:6px;margin:.4rem 0}.chips .chip,.facts .chip{cursor:default}.chips .chip:hover,.facts .chip:hover{background:#fff;color:var(--g)}
.card.person.pro{border:0;box-shadow:0 2px 14px #0b3d2420;border-radius:14px;transition:transform .25s,box-shadow .25s;position:relative}
.card.person.pro:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0b3d2435}
.card.person.pro.feat:before{content:"Featured";position:absolute;top:10px;left:10px;z-index:2;background:var(--gold);color:#101a14;font-size:.7rem;font-weight:700;padding:.1rem .6rem;border-radius:999px}
.pimg{display:block;aspect-ratio:4/4.2;overflow:hidden;background:linear-gradient(135deg,var(--g),#1a6a42)}.pimg img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .5s}.card.person.pro:hover .pimg img{transform:scale(1.05)}
.pimg .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font:700 3rem var(--font-head);color:#ffffffcc}
.person.pro .cb{padding:1rem 1.1rem 1.2rem;border-top:4px solid var(--gold)}.person.pro h3{margin:0 0 .1em;font-size:1.05rem}.person.pro h3 a{text-decoration:none;color:inherit}
.person.pro .role{color:#6b5400;font-weight:700;margin:0 0 .2rem;font-size:.9rem}.person.pro .meta{margin:0;color:var(--mute);font-size:.82rem}.more{font-weight:700;font-size:.88rem}
.profile{display:grid;grid-template-columns:320px 1fr;gap:36px;align-items:start}.pphoto img,.pphoto .ph{width:100%;border-radius:16px;box-shadow:0 10px 30px #0b3d2430}.pphoto .ph{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--g);color:#fff;font:700 4rem var(--font-head)}
.pinfo h2{margin-bottom:.1em}.pinfo .role{color:#6b5400;font-weight:700;font-size:1.05rem}.facts{margin:1rem 0}.facts div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:.45rem 0;border-bottom:1px solid var(--line)}.facts dt{font-weight:700;color:var(--c-head)}.facts dd{margin:0}
.card.story.pro{border:0;border-radius:14px;padding:1.4rem 1.4rem 1.2rem;background:linear-gradient(180deg,#fff,#f6f9f7);box-shadow:0 2px 14px #0b3d2420;position:relative;transition:transform .25s,box-shadow .25s}
.card.story.pro:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0b3d2435}.card.story.pro.feat{border-top:5px solid var(--gold)}
.qmark{font:700 4.2rem/0.8 Georgia,serif;color:var(--gold);height:34px}.story.pro h3{font-size:1.08rem;margin:.2em 0 .4em}.story.pro h3 a{text-decoration:none;color:inherit}.qtext{color:#2d3d34;font-style:italic;flex:1}
.qwho{display:flex;gap:12px;align-items:center;margin-top:.6rem}.qwho img,.qwho .ph{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;border:3px solid var(--gold)}.qwho .ph{display:flex;align-items:center;justify-content:center;background:var(--g);color:#fff;font:700 1rem var(--font-head)}
.qwho small{display:block;color:var(--mute)}.qwho.big img,.qwho.big .ph{width:84px;height:84px}
.outcome{background:#e8f3ec;color:var(--c-head);border-radius:8px;padding:.3rem .7rem;font-weight:600;font-size:.85rem;margin:.6rem 0 0}
.bigquote{margin:1.2rem 0;padding:1.2rem 1.6rem;border-left:6px solid var(--gold);background:var(--mist);font-size:1.05em;border-radius:0 10px 10px 0}
.daylog{display:flex;flex-direction:column;gap:26px}.daydate{display:flex;align-items:center;gap:14px;font-size:1.1rem;margin-bottom:.6rem}.daydate span{font-family:var(--font-head)}
.logitem{display:grid;grid-template-columns:220px 1fr;gap:20px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px}.logitem:not(:has(img)){grid-template-columns:1fr}
.logitem img{width:100%;height:100%;max-height:200px;object-fit:cover;border-radius:8px}.logitem h3{margin:0 0 .2em;font-size:1.1rem}.logitem .prose{margin-top:.4rem}
.card.logcard img{aspect-ratio:16/10;object-fit:cover;width:100%}.card.tool .cb{padding:1.1rem}.card.tool h3{margin-top:0}
.filterbar{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:22px}.filterbar label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600}.filterbar select{padding:.4rem .6rem;border:1px solid var(--line);border-radius:6px;font:inherit;min-width:160px}
@media(max-width:900px){.profile{grid-template-columns:1fr}.pphoto{max-width:300px}.logitem{grid-template-columns:1fr}.facts div{grid-template-columns:1fr;gap:2px}}
@media print{.ticker,.chatfab,.chatpanel,.quick,.aiband{display:none!important}}
