:root{--ink:#294852;--muted:#5d737a;--blue:#4a6b78;--sea:#dbe9e7;--paper:#f6f3ed;--line:#dae2de;--white:#fff;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-underline-offset:4px}h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.16}h1{font-size:clamp(2.5rem,5vw,4.8rem)}h2{font-size:2.4rem}h3{font-size:1.55rem}p{margin:0 0 1.3rem}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,.button{display:inline-block;border:0;border-radius:30px;background:var(--blue);color:white;padding:12px 25px;cursor:pointer;text-decoration:none;text-align:center;font-size:.9rem}button:hover,.button:hover{background:#305460}.secondary{background:var(--sea);color:var(--ink)}.danger{background:#944848}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline:3px solid #1593a5;outline-offset:4px}.skip{position:fixed;top:-80px;background:white;padding:12px;z-index:200}.skip:focus{top:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;gap:25px;background:var(--paper);position:relative;z-index:5;border-bottom:1px solid var(--line)}.brand{font-size:1.6rem;text-decoration:none;white-space:nowrap}.brand span{display:block;font:10px/1.8 system-ui;letter-spacing:.2em}.topbar nav{display:flex;gap:23px;align-items:center}.topbar nav a{font-size:.82rem;text-decoration:none}.menu-toggle{display:none}.hero{min-height:760px;min-height:calc(100svh - 95px);position:relative;display:grid;place-items:center;text-align:center;color:white;background:#355565;overflow:hidden}.hero-bg,.hero video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(110deg,rgba(14,43,55,.78),rgba(28,62,75,.58))}.hero-inner{position:relative;max-width:950px;padding:65px 24px}.eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}.hero h1{margin:25px 0}.hero p{max-width:690px;margin:0 auto 30px;line-height:1.9;color:#f3f7f7}.hero .button{background:var(--paper);color:var(--ink);padding:16px 32px}.portrait{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid #ecece1}.pause-video{position:absolute;right:20px;bottom:20px;background:#234752}.section{padding:85px 6%;max-width:1400px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}.section-heading h2{margin:10px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.card{padding:32px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.card .number{font:italic 1.6rem Georgia;color:#6b8e9b}.card p{font-size:.93rem;color:var(--muted)}.card h3{margin:20px 0}.card a{font-size:.85rem}.blog-card{padding:0;overflow:hidden}.blog-card img{width:100%;height:200px;object-fit:cover}.blog-card .card-body{padding:26px}.badge{display:inline-block;background:var(--sea);border-radius:20px;padding:4px 12px;font-size:.75rem}.muted,small{color:var(--muted)}.page-intro{text-align:center;padding:65px 20px 45px;background:var(--sea)}.page-intro h1{margin:10px 0}.prose{max-width:900px;margin:auto;overflow-wrap:anywhere}.prose p{line-height:1.95}.prose h3{margin-top:40px}.prose .list-grid,.services-section{display:grid;gap:20px}.prose .list-item,.highlight-box{padding:15px;background:var(--sea);border-radius:10px}.bio-text{max-width:800px;margin:auto}.resume-section{margin-top:45px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px}.panel h2{font-size:2rem;margin-top:0}form{display:grid;gap:18px}label{display:grid;gap:7px;font-size:.88rem;font-weight:500}input,select,textarea{width:100%;padding:12px 14px;color:var(--ink);border:1px solid #c4d0d0;border-radius:8px;background:white;min-width:0}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.notice{padding:18px 6%;background:#e0eee7;border-left:4px solid #4a6b78}.error{background:#fbe8e3}.hp{position:absolute;left:-10000px}.help{font-size:.83rem;color:var(--muted)}footer{padding:45px 6%;display:flex;justify-content:space-between;gap:30px;background:#294852;color:#f3f2e9}footer small{color:#d4e1df}footer p{margin:8px 0}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#294852;color:#eef2ed;padding:30px 22px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar .brand{font-size:1.4rem;white-space:normal}.sidebar nav{display:grid;gap:5px;margin-top:30px}.sidebar nav a{padding:10px 12px;text-decoration:none;border-radius:8px;font-size:.88rem}.sidebar nav a:hover,.sidebar nav a.active{background:#406570}.admin-main{padding:40px;max-width:1550px;width:100%;min-width:0}.admin-main h1{font-size:2.5rem;margin-top:0}.admin-main h2{font-size:1.7rem}.admin-main .panel{margin-bottom:25px}.admin-main .notice{margin-bottom:25px;padding:15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}.stats .stat{padding:25px;background:white;border:1px solid var(--line);border-radius:16px}.stat strong{display:block;font:2.8rem Georgia}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.86rem}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eef3f1;white-space:nowrap}td form{min-width:180px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.auth{max-width:500px;margin:7vh auto;padding:35px}.auth h1{font-size:2.5rem}.editor-tools{display:flex;gap:6px;flex-wrap:wrap}.editor-tools button{padding:8px 12px;border-radius:7px;background:var(--sea);color:var(--ink)}.rich-editor{width:100%;min-height:300px;padding:20px;border:1px solid var(--line);border-radius:10px;background:white}.media-preview{height:130px;width:100%;object-fit:cover}.check{display:flex;gap:12px;align-items:flex-start}.check input{width:auto;margin-top:7px}.public-body .services-section .card{margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px}.quote{padding:60px 10%;text-align:center;background:var(--sea);font:2rem/1.5 Georgia}.empty{padding:45px;border:1px dashed #a9bfbe;border-radius:18px}.post-meta{font-size:.85rem;color:var(--muted);margin-bottom:30px}@media(max-width:1050px){.topbar nav{gap:12px}.topbar{padding:18px 3%}.topbar nav a{font-size:.75rem}.brand{font-size:1.3rem}}@media(max-width:800px){.menu-toggle{display:block}.topbar nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch}.topbar nav.open{display:flex}.topbar nav a{font-size:1rem;padding:8px}.hero{min-height:740px}.section{padding:55px 6%}.contact-grid,.split{grid-template-columns:1fr;gap:30px}.admin-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:20px}.sidebar nav{display:flex;overflow:auto;margin-top:20px}.sidebar nav a{white-space:nowrap}.admin-main{padding:24px 15px}.stats{gap:10px}.stats .stat{padding:15px}.stat strong{font-size:2rem}.form-grid{grid-template-columns:1fr}footer{flex-direction:column}.section-heading{align-items:start;flex-direction:column}.panel{padding:22px}.auth{margin:30px 15px}}@media(prefers-reduced-motion:reduce){.hero video,.pause-video{display:none!important}*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Subtle hover motion for buttons throughout the site. */
button,.button,input[type="submit"],input[type="button"],input[type="reset"],[role="button"]{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
button:not(:disabled):hover,.button:hover,input[type="submit"]:not(:disabled):hover,input[type="button"]:not(:disabled):hover,input[type="reset"]:not(:disabled):hover,[role="button"]:not([aria-disabled="true"]):hover{transform:translateY(-2px)}
button:not(:disabled):active,.button:active,input[type="submit"]:not(:disabled):active,input[type="button"]:not(:disabled):active,input[type="reset"]:not(:disabled):active,[role="button"]:not([aria-disabled="true"]):active{transform:translateY(0)}
}
