/* Shared invitation buttons: a tactile shape, a small gesture, no continuous motion. */
a.warm-action{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;max-width:100%;min-height:52px;padding:7px 8px 7px 21px;border:1px solid #ead393;border-radius:22px 7px 22px 7px;background:#f5dc88;color:#123c2c;text-decoration:none;font-size:14px;font-weight:800;line-height:1.4;box-shadow:0 3px 0 #b6a66f,0 8px 18px #001b141a;animation:none;overflow:visible;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,background .25s ease,border-radius .35s ease}
a.warm-action:before{display:none}
a.warm-action .cta-label{position:relative;z-index:1;font:inherit;line-height:1.4;min-width:0;transition:transform .35s ease}
a.warm-action .cta-arrow{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-height:0;border-radius:50% 50% 50% 9px;border:1px solid #164934;background:#164934;color:#f9e6a7;font-size:23px;line-height:1;transform:rotate(-6deg);transition:transform .4s cubic-bezier(.2,.8,.2,1),border-radius .4s ease,background .25s ease}
a.warm-action:hover,a.warm-action:focus-visible{background:#ffe8a0;box-shadow:0 5px 0 #b6a66f,0 12px 25px #001b1426;transform:translateY(-2px);border-radius:7px 22px 7px 22px}
a.warm-action:hover .cta-arrow,a.warm-action:focus-visible .cta-arrow{background:#215d41;transform:rotate(0deg) translate(1px,-1px);border-radius:50%}
a.warm-action:hover .cta-label,a.warm-action:focus-visible .cta-label{transform:translateX(2px)}
a.warm-action:active{transform:translateY(2px);box-shadow:0 1px 0 #b6a66f;transition-duration:.12s}
a.warm-action.hero-btn{gap:27px;min-height:63px;padding:9px 10px 9px 24px;font-size:16px;border-radius:25px 8px 25px 8px}
a.warm-action.hero-btn .cta-arrow{width:42px;height:42px;flex-basis:42px;font-size:27px}
a.warm-action.hero-btn:hover,a.warm-action.hero-btn:focus-visible{border-radius:8px 25px 8px 25px}
.header a.warm-action{display:inline-flex;min-height:47px;font-size:13px;padding:6px 7px 6px 17px;gap:16px;border-radius:18px 6px 18px 6px}
.header a.warm-action .cta-arrow{width:32px;height:32px;flex-basis:32px;font-size:22px}
.direction-closing a.warm-action{min-width:235px;text-align:left}
/* A visible focus ring on both the paper and forest backgrounds. */
:where(a,button,input,textarea,summary):focus-visible{outline:3px solid #245b3e;outline-offset:5px}
:where(.header,.hero,.directions,.footer,.direction-header,.direction-footer,.t-contact) :where(a,button):focus-visible{outline-color:#ffe594}
a.warm-action:focus-visible{outline-color:#fff3c6;outline-offset:6px}
:where(.direction-closing,.t-header,.support-header) a.warm-action:focus-visible{outline-color:#245b3e}
.hero-discover:focus-visible{border-radius:4px}
.submit-btn:focus-visible,.feedback:focus{outline-color:#245b3e}
.join-form-panel .field>label:not(.check),.form-block legend{font-size:13px}
.join-form-panel .check,.join-form-panel .fine-print,.join-form-panel>.donation-info,.form-guidance,.field-hint,.field-error{font-size:12px}
.form-intro{font-size:15px;line-height:1.7}
.form-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:3px;margin:0;font-size:12px;color:#51654f;line-height:1.65}
.form-contact a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#194f36;font-weight:800;text-underline-offset:4px;flex:none}
.no-script-note{font-size:13px;line-height:1.7;color:#475f49}
.no-script-note a{font-weight:700;text-underline-offset:4px}
.tile p{font-size:14px;line-height:1.6}
.join-form-panel .submit-btn:disabled{cursor:progress}
@media(max-width:1050px){.header a.warm-action{margin-left:auto}.header .menu-btn{margin-left:0}}
@media(max-width:600px){
 .header,.header.is-scrolled,.menu-open .header{padding-inline:17px;gap:10px}
 .header .logo strong{font-size:32px}.header .logo small{font-size:7px}
 .header a.warm-action{display:inline-flex;min-height:42px;padding:10px 13px;gap:0;font-size:12px;white-space:nowrap;border-radius:15px 5px 15px 5px;margin-left:auto;box-shadow:0 2px 0 #b6a66f}
 .header a.warm-action .cta-arrow{display:none}
 .header .menu-btn{width:42px;height:42px;padding:10px}
 a.warm-action.hero-btn{min-height:61px;padding:8px 9px 8px 21px;font-size:15px;gap:24px}
 a.warm-action.hero-btn .cta-arrow{width:40px;height:40px;flex-basis:40px;font-size:25px}
 .t-nav a.warm-action,.direction-header a.warm-action,.support-header a.warm-action{padding:9px 14px;min-height:44px;font-size:12px;gap:0;max-width:none;white-space:nowrap}
 .t-nav a.warm-action .cta-arrow,.direction-header a.warm-action .cta-arrow,.support-header a.warm-action .cta-arrow{display:none}
 .tile p{font-size:13px;line-height:1.55}
 .form-intro{font-size:14px}.form-contact{display:block}.form-contact a{margin-top:2px}
}
@media(max-width:359px){.header,.header.is-scrolled,.menu-open .header{padding-inline:13px;gap:7px}.header .logo strong{font-size:28px}.header .logo small{font-size:6.5px}.header a.warm-action{font-size:11px;padding-inline:10px}.header .menu-btn{width:40px;height:40px}.tile p{font-size:14px}}
@media(max-width:359px){dialog .amounts{grid-template-columns:repeat(2,minmax(0,1fr))}dialog .amount{white-space:nowrap;min-height:44px}}
@media(prefers-reduced-motion:reduce){a.warm-action,a.warm-action:hover,a.warm-action:focus-visible,a.warm-action:active,a.warm-action .cta-arrow,a.warm-action .cta-label,a.warm-action:hover .cta-arrow,a.warm-action:hover .cta-label,a.warm-action:focus-visible .cta-arrow,a.warm-action:focus-visible .cta-label{transform:none;transition:none;animation:none}}
