/* A quiet, illustrated process replaces the external map. */
.workflow{background:#eff1e8}.workflow__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.workflow__heading .section__header{max-width:740px}.workflow__replay{flex-shrink:0;margin-top:30px;min-height:44px;padding:9px 17px;border:1px solid #bccbb0;border-radius:3px;background:transparent;color:var(--ink);font-size:12px}.workflow__replay:hover{background:#dfebc6}.workflow__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.workflow__step{padding:26px;background:var(--paper);border:1px solid #d7dfcc;border-radius:4px}.workflow__meta{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);letter-spacing:.1em;color:#667956}.workflow__signal{width:6px;height:6px;background:#78935b;border-radius:50%}.workflow__visual{margin:16px -8px 18px;border-bottom:1px solid #dee5d5;padding-bottom:10px}.workflow__visual svg{display:block;width:100%;height:auto}.workflow__step h3{font:26px/1.2 var(--serif);letter-spacing:-.02em}.workflow__step p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:14px}.workflow__tags{font:9px/1.8 var(--mono);color:#526c42;margin-top:22px}.workflow__note{font-size:12px;color:var(--muted);margin-top:23px}.workflow__bars rect{transform-box:fill-box;transform-origin:bottom}
@media(prefers-reduced-motion:no-preference){
.workflow.is-playing .workflow__trace{animation:workflow-draw 1.1s ease .1s backwards}
.workflow.is-playing .workflow__dots{animation:workflow-appear .7s ease backwards}
.workflow.is-playing .workflow__scan{animation:workflow-scan 1.4s ease-in-out .8s backwards}
.workflow.is-playing .workflow__cells{animation:workflow-appear .8s ease 1.2s backwards}
.workflow.is-playing .workflow__bars rect{animation:workflow-grow .8s cubic-bezier(.22,1,.36,1) 1.9s backwards}
.workflow.is-playing .workflow__bars rect:nth-child(2){animation-delay:2s}.workflow.is-playing .workflow__bars rect:nth-child(3){animation-delay:2.1s}
.workflow.is-playing .workflow__result{animation:workflow-appear .6s ease 2.4s backwards}
.workflow.is-playing .workflow__step:nth-child(1) .workflow__signal{animation:workflow-signal 1s ease}
.workflow.is-playing .workflow__step:nth-child(2) .workflow__signal{animation:workflow-signal 1s ease 1s}
.workflow.is-playing .workflow__step:nth-child(3) .workflow__signal{animation:workflow-signal 1s ease 2s}
}
@keyframes workflow-draw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@keyframes workflow-appear{from{opacity:0}to{opacity:1}}
@keyframes workflow-scan{0%{transform:translateX(0);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateX(164px);opacity:0}}
.workflow__scan{opacity:0}
@keyframes workflow-grow{from{transform:scaleY(.06)}to{transform:scaleY(1)}}
@keyframes workflow-signal{50%{box-shadow:0 0 0 5px #b7ce8e77;background:#42632b}}
@media(max-width:900px){.workflow__grid{gap:14px}.workflow__step{padding:20px}.workflow__step h3{font-size:23px}}
@media(max-width:760px){.workflow__heading{display:block}.workflow__heading .section__header{margin-bottom:18px}.workflow__replay{margin:0 0 25px}.workflow__grid{grid-template-columns:1fr;gap:16px}.workflow__step{padding:24px}.workflow__visual{max-width:340px;margin:10px auto 20px}.workflow__step h3{font-size:28px}.workflow__tags{margin-top:15px}}

/* Inline Netlify submission feedback. */
.contact__form .form__status{padding:12px 14px;margin:0 0 18px;border:1px solid #789465;border-radius:3px;background:#193a2d;color:#edf5dd;font-size:13px;line-height:1.65}
.contact__form .form__status[hidden]{display:none}
.contact__form .form__status[data-state="error"],.contact__form .form__status[data-state="local"]{background:#493c28;border-color:#b3a076;color:#fff2d4}
.form__submit:disabled{opacity:.7;cursor:wait}.form__input[readonly],.form__textarea[readonly]{opacity:.75}

/* Browser-storage choices: equally prominent accept/reject controls. */
.privacy-banner{position:fixed;z-index:500;bottom:20px;left:24px;right:24px;max-width:1192px;margin:auto;background:#f5f5ee;color:#183b32;border:1px solid #b8c7ab;border-radius:6px;padding:25px 28px;box-shadow:0 10px 60px #183b3233;display:flex;gap:30px;align-items:center}.privacy-banner[hidden]{display:none}.privacy-banner h2,.privacy-dialog h2{font:26px/1.2 var(--serif)}.privacy-banner p,.privacy-dialog p{font-size:13px;line-height:1.65;margin-top:10px}.privacy-banner .privacy-detail,.privacy-dialog .privacy-detail{font-size:11px;color:#5b6d55}.privacy-actions{display:flex;flex-wrap:wrap;gap:9px;flex-shrink:0}.privacy-actions button,.privacy-open{min-height:44px;padding:10px 14px;border:1px solid #7a906c;border-radius:3px;background:transparent;color:inherit;font-size:12px;cursor:pointer}.privacy-actions button:hover{background:#dfebca}.privacy-banner .privacy-actions{max-width:305px}.privacy-actions [data-consent=accept],.privacy-actions [data-consent=reject]{background:#e6eddb;flex:1}.privacy-banner .privacy-open{width:100%;border-color:transparent;text-decoration:underline}.footer__links{flex-wrap:wrap}.footer .privacy-open{border-color:#6f8562;font-size:10px}.privacy-dialog{max-width:560px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;padding:28px;background:#f5f5ee;color:#183b32;border:1px solid #b8c7ab;border-radius:6px}.privacy-dialog::backdrop{background:#102e23aa}.privacy-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:15px}.privacy-close{width:44px;height:44px;flex-shrink:0;border:1px solid #b8c7ab;background:transparent;border-radius:50%;font-size:25px}.privacy-option{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #d2dcc7}.privacy-option strong{font-size:14px}.privacy-option p{font-size:12px;margin-top:5px;color:#5b6d55}.privacy-option>span{font-size:10px;white-space:nowrap}.privacy-option input{width:23px;height:23px;accent-color:#285840;flex-shrink:0}.privacy-dialog .privacy-actions{margin-top:22px}.privacy-dialog .privacy-actions button{flex:1}.privacy-dialog input:focus-visible{outline:3px solid #b46b2b;outline-offset:4px}
@media(max-width:850px){.privacy-banner{flex-direction:column;align-items:stretch;gap:16px}.privacy-banner .privacy-actions{max-width:none}.privacy-banner .privacy-open{width:auto}.privacy-banner{left:12px;right:12px;bottom:12px;padding:20px;max-height:65dvh;overflow:auto}.privacy-banner h2{font-size:23px}.privacy-banner .privacy-actions button{flex:1}.privacy-dialog{padding:22px}}
