/* Elevated homepage feature cards. */
.feature-grid{width:min(1380px,calc(100% - 40px));margin:80px auto;padding:18px;gap:18px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(145deg,#f0f7f4,#fffaf0);box-shadow:0 24px 70px rgba(0,56,61,.08)}
.feature-grid article{position:relative;min-height:340px;padding:42px;border:1px solid rgba(4,80,84,.1);border-radius:24px;background:#fff;box-shadow:0 12px 35px rgba(0,56,61,.06);transition:transform .25s ease,box-shadow .25s ease}
.feature-grid article:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(0,56,61,.12)}
.feature-grid article::after{content:'✦';position:absolute;right:30px;top:28px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#edf6f3;color:var(--sea)}
.feature-grid span{display:inline-flex;align-items:center;justify-content:center;min-width:50px;height:34px;padding:0 12px;border-radius:999px;background:#fff4d6;color:#a66f00}
.feature-grid h3{margin:64px 0 16px;font-size:clamp(2rem,3vw,2.7rem);line-height:1.05}.feature-grid p{margin:0;line-height:1.75}

/* A consistent modern action language across the public site. */
.section-head>a,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;margin-top:18px;padding:10px 17px;border:1px solid rgba(8,123,126,.2);border-radius:999px;background:#edf6f3;color:var(--sea);text-decoration:none;font-size:.88rem;font-weight:900;line-height:1.2;box-shadow:0 8px 20px rgba(0,56,61,.07);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.section-head>a{margin-top:0}.section-head>a:hover,.text-link:hover{transform:translateY(-2px);background:var(--sea);color:#fff;box-shadow:0 13px 26px rgba(0,56,61,.16)}
.button{position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(0,56,61,.1);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,56,61,.17);filter:saturate(1.05)}
.button:focus-visible,.text-link:focus-visible,.section-head>a:focus-visible{outline:3px solid rgba(244,181,44,.65);outline-offset:3px}
.button.outline{border:1px solid rgba(7,63,69,.2);background:#f3f8f6;color:var(--ink)}
.button.outline:hover{background:var(--deep);color:#fff}

/* Admin links and buttons use the same system with compact proportions. */
.admin-route .admin-content>a.text-link:first-child{min-height:44px;margin:0 0 20px;padding:10px 16px;border-color:rgba(8,123,126,.18);background:#fff;box-shadow:0 10px 24px rgba(0,56,61,.09)}
.admin-route button:not(.menu-button):not(.modal-close):not(.a11y-close),.admin-route input[type=submit]{min-height:42px;padding:9px 15px;border:1px solid rgba(7,63,69,.16);border-radius:11px;background:var(--deep);color:#fff;font:inherit;font-size:.82rem;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(0,56,61,.12);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.admin-route button:not(.menu-button):not(.modal-close):not(.a11y-close):hover,.admin-route input[type=submit]:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,56,61,.18);filter:brightness(1.08)}
.admin-route button:focus-visible,.admin-route input[type=submit]:focus-visible{outline:3px solid rgba(244,181,44,.55);outline-offset:2px}
.admin-route button.button.gold,.admin-route a.button.gold{border-color:transparent!important;background:var(--gold)!important;color:var(--ink)!important}
.admin-route button.button.outline,.admin-route a.button.outline{border-color:rgba(7,63,69,.22)!important;background:#f1f7f4!important;color:var(--ink)!important}
.admin-route button.button.outline:hover,.admin-route a.button.outline:hover{background:var(--deep)!important;color:#fff!important}
.admin-route .danger,.admin-route button.danger{border-color:#d8aaa4!important;background:#fff2ef!important;color:#8d322b!important}
.admin-route .danger:hover,.admin-route button.danger:hover{background:#8d322b!important;color:#fff!important}

@media(max-width:800px){.feature-grid{grid-template-columns:1fr;margin:55px auto}.feature-grid article{min-height:260px}.feature-grid h3{margin-top:42px}}
@media(max-width:520px){.feature-grid{width:min(100% - 24px,1380px);padding:12px}.feature-grid article{padding:28px}.section-head>a{margin-top:18px}}
