/* Shared finishing pass for the touch hero and ?v=1's original flat-teal treatment. */
:root { --ease-out: cubic-bezier(.22,1,.36,1); }
html { scrollbar-gutter: stable; }
html.assistant-open { overflow: hidden; }
.hero-copy { padding-top: 42px; }
.hero-touch { margin-bottom: 26px; }
.hero-touch-trigger { gap: 17px; padding: 12px 20px 0; }
.hero-touch p { display: none; }
.touch-disc { transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out), background .25s; }
.hero-touch-trigger:hover .touch-disc { transform: translateY(-3px) scale(1.035); box-shadow: inset 0 1px 12px #ffffff1a,0 14px 40px #001f2a24,0 0 0 18px #ffffff08; }
.hero-touch-trigger:active .touch-disc { transform: scale(.93); }
.touch-label { font-size: 11px; color: #dae9df; }
.hero-description { max-width: 540px; margin: 24px auto 0; font-size: 16px; }
.hero-copy .hero-actions { margin-top: 27px; }
.hero-copy .button { min-width: 142px; padding-inline: 28px; }

.hero-compliance { margin-top: 19px; font-size: 10px; text-decoration: none; color: #bdd6c7; }
.hero-compliance:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.hero-copy>.eyebrow { font-size: 9px; margin-bottom: 24px; }
/* Preserve the pre-touch palette and oversized gull. No photograph or glass in v1. */
html[data-hero="classic"] .hero { background: var(--teal); }
html[data-hero="classic"] .hero::before, html[data-hero="classic"] .hero::after { content: none; background: none; }
html[data-hero="classic"] .hero-watermark { display: block; filter: none; opacity: .045; }
html[data-hero="classic"] .touch-disc { background: #ffffff09; border-color: #b9decd55; box-shadow: 0 0 0 12px #ffffff03; backdrop-filter: none; -webkit-backdrop-filter: none; }
html[data-hero="classic"] .hero-touch-trigger:hover .touch-disc { background: #ffffff13; box-shadow: 0 0 0 18px #ffffff05; }
.button,.call-pill,.text-link,.under-link,.footer a { transition: background-color .22s,color .22s,border-color .22s,transform .35s var(--ease-out); }
.button:active,.call-pill:active { transform: translateY(1px); }
.specialty { transition: background .3s,translate .4s var(--ease-out); }
.specialty:hover { translate: 0 -3px; }
.workflow-panel:not([hidden]) { animation: panel-arrive .35s var(--ease-out); }
@keyframes panel-arrive { from { opacity: .2; transform: translateY(5px); } to { opacity: 1; transform: none; } }
/* Native modal provides focus containment and makes the page behind it inert. */
.chat-panel {
  position: fixed; inset: 0; width: 100%; max-width: none; height: var(--chat-viewport-height,100dvh);
  max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0;
  background: var(--paper); color: var(--ink); box-shadow: none; overflow: hidden;
  overscroll-behavior: none; text-align: left; top: var(--chat-viewport-top,0px);
}
.chat-panel::backdrop { background: #062d2d8c; }
.chat-shell { display: flex; flex-direction: column; width: min(780px,100%); height: 100%; min-height: 0; margin: 0 auto; padding: max(24px,env(safe-area-inset-top)) 38px max(20px,env(safe-area-inset-bottom)); }
.chat-masthead { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 20px; }
.chat-brand { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 23px; letter-spacing: -.05em; font-weight: 600; }
.chat-brand small { font-size: 10px; font-weight: 400; letter-spacing: 0; margin-left: 4px; }
.chat-brand-mark { display: grid; place-items: center; width: 36px; height: 36px; background: var(--teal); border-radius: 50%; }
.chat-masthead .call-close { position: static; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #d7dfd1; background: transparent; font-size: 27px; transition: background .2s,transform .3s var(--ease-out); }
.chat-masthead .call-close:hover { background: #e8eee3; transform: rotate(90deg); }
.chat-panel .chat-heading { padding: 46px 0 25px; border: 0; margin: 0; flex-shrink: 0; }
.chat-panel .chat-heading .eyebrow { font-size: 9px; color: var(--muted); margin-bottom: 15px; }
.chat-panel .chat-heading h2 { font-size: clamp(32px,4vw,49px); line-height: 1.1; letter-spacing: -.055em; }
.chat-panel .chat-heading h2 em { color: var(--accent); }
.chat-panel .chat-log { flex: 1 1 auto; min-height: 0; max-height: none; overflow-y: auto; padding: 12px 10px 12px 0; scroll-padding-block: 12px; scrollbar-color: #b9cbb9 transparent; }
.chat-panel .chat-bubble { font-size: 15px; padding: 15px 18px; line-height: 1.7; max-width: 88%; margin-bottom: 18px; }
.chat-panel .chat-bubble.agent { background: #e8eee2; }
.chat-panel .chat-bubble.visitor { background: var(--teal); color: #f3f8f1; }
.chat-panel .chat-bubble.system { font-size: 12px; padding: 7px 0; }
.chat-panel .chat-suggestions { gap: 8px; margin: 14px 0 18px; flex-shrink: 0; }
.chat-panel .chat-suggestions button { min-height: 44px; padding: 10px 14px; font-size: 11px; border-color: #cddbc7; transition: background .2s,border-color .2s; }
.chat-panel .chat-suggestions button:hover { background: #e8eee2; border-color: #9bb798; }
.chat-panel .chat-composer { border: 1px solid #bbcdb5; border-radius: 13px; background: #fffefb; padding: 8px; gap: 10px; align-items: flex-end; flex-shrink: 0; }
.chat-panel .chat-composer:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px #0a78530b; }
.chat-panel .chat-composer textarea { min-height: 46px; max-height: 120px; height: 46px; resize: none; padding: 11px 8px; border: 0; background: transparent; border-radius: 0; font-size: 16px; line-height: 24px; }
.chat-panel .chat-composer textarea:focus-visible { outline: none; }
.chat-panel .chat-composer>button { min-height: 46px; min-width: 64px; padding: 10px 15px; border-radius: 8px; font-size: 12px; }
.chat-panel .chat-note { font-size: 11px; margin-top: 10px; }
.chat-panel .chat-disclosure { font-size: 10px; margin-top: 13px; }
.chat-disclosure a { text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 30px; }
.chat-panel .chat-card { font-size: 14px; padding: 20px; }
.chat-panel.chat-editing .chat-heading { padding: 16px 0 10px; }
.chat-panel.chat-editing .chat-heading h2 { font-size: 27px; }
.chat-panel.chat-editing .chat-heading h2 br { display: none; }
.chat-panel.chat-editing .chat-composer { padding: 6px; }
.chat-panel.chat-editing .chat-heading .eyebrow,.chat-panel.chat-editing .chat-disclosure { display: none; }
@media(min-width:801px) { .chat-panel { background: radial-gradient(ellipse at 0 100%,#e8eee380,transparent 55%),var(--paper); } }
@media(max-width:700px) {
  .hero-copy { padding-top: 28px; }
  .hero-touch { margin-bottom: 30px; }
  .hero-touch-trigger { padding-top: 7px; gap: 14px; }
  .touch-disc { width: 78px; height: 78px; }
  .hero-copy>.eyebrow { display: none; }
  .hero h1 { font-size: clamp(48px,13.5vw,64px); }
  .hero-description { margin-top: 21px; font-size: 14px; line-height: 1.7; max-width: 330px; text-wrap: balance; }
  .hero-copy .hero-actions { margin-top: 25px; }
  .hero-copy .button { min-height: 48px; font-size: 13px; min-width: 144px; }

  .hero-compliance { margin-top: 16px; font-size: 10px; min-height: 44px; }
  .hero-stage { display: none; }
  .hero-foot { margin-top: 25px; padding-block: 18px; }
  .hero-foot>span:first-child { display: none; }
  .hero::before { background-position: center -165px; }
  .chat-shell { padding: max(14px,env(safe-area-inset-top)) 20px max(12px,env(safe-area-inset-bottom)); }
  .chat-panel .chat-heading { padding: 31px 0 18px; }
  .chat-panel .chat-heading .eyebrow { font-size: 8px; margin-bottom: 12px; }
  .chat-panel .chat-heading h2 { font-size: 37px; }
  .chat-panel .chat-bubble { font-size: 14px; max-width: 94%; padding: 14px 16px; }
  .chat-panel .chat-suggestions { gap: 7px; margin: 10px 0 14px; }
  .chat-panel .chat-suggestions button { padding: 9px 12px; font-size: 10px; }
  .chat-panel .chat-log { padding-right: 4px; }
  .chat-panel .chat-disclosure { font-size: 9px; margin-top: 7px; }
  .chat-panel .chat-composer { gap: 4px; padding: 6px; }
  .chat-panel .chat-composer>button { min-width: 57px; padding: 9px 12px; }
  .chat-panel.chat-editing { padding: 0; }
  .chat-panel.chat-editing .chat-shell { padding-block: 8px; }
  .chat-panel.chat-editing .chat-heading { padding-block: 8px; }
  .chat-panel.chat-editing .chat-heading h2 { font-size: 22px; }
  .chat-panel .chat-card { padding: 15px; }
}
@media(max-height:600px) { .chat-panel .chat-heading { padding-block: 12px; } .chat-panel .chat-heading h2 { font-size: 25px; } .chat-panel .chat-heading br { display: none; } .chat-panel .chat-heading .eyebrow { display: none; } }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; scroll-behavior: auto!important; }
}
/* Keep browser safe areas in the brand color; supported tab bars use theme-color. */
html { background: #093b3b; }
.site-header { padding-top: env(safe-area-inset-top); background: #093b3b; transition: background-color .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s; }
.site-header.is-scrolled { background: #093b3bd6; backdrop-filter: blur(18px) saturate(130%); -webkit-backdrop-filter: blur(18px) saturate(130%); border-bottom-color: #ffffff1c; box-shadow: 0 4px 25px #062d2d0c; }
.site-header.mobile-open,.site-header:has(.nav-item[open]) { background: #093b3b; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .site-header.is-scrolled { background:#093b3bf5; } }

/* One primary invitation; signup and the phone demo share a quiet secondary row. */
.hero-secondary-actions { display: flex; justify-content: center; align-items: center; gap: 25px; margin: 8px auto 0; }
.hero-secondary-actions a,.hero-secondary-actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 0; background: transparent; border: 0; color: #d0e4d7; font: inherit; font-size: 12px; text-underline-offset: 4px; transition: color .2s; }
.hero-secondary-actions button { position: relative; }
.hero-secondary-actions button::before { content: ''; position: absolute; left: -13px; top: 17px; height: 10px; width: 1px; background: #c8ddd64d; }
.hero-secondary-actions a:hover,.hero-secondary-actions button:hover { color: white; text-decoration: underline; }
.hero-copy .hero-compliance { margin-top: 8px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(max-width:700px) { .hero-secondary-actions { gap: 23px; margin-top: 7px; } .hero-secondary-actions a,.hero-secondary-actions button { font-size: 11px; } .hero-secondary-actions button::before { left: -12px; } .hero-copy .hero-compliance { margin-top: 5px; } }
/* Ambient cues run only while visible, with a single footer control to pause them. */
html[data-motion] .touch-ring { animation: fingertip-ripple 3.8s cubic-bezier(.2,.7,.3,1) infinite; animation-play-state: paused; }
html[data-motion] .touch-disc { animation: fingertip-breathe 3.8s ease-in-out infinite; animation-play-state: paused; }
html[data-motion="running"] .hero-touch.is-in-view .touch-ring,html[data-motion="running"] .hero-touch.is-in-view .touch-disc { animation-play-state: running; }
@keyframes fingertip-ripple { 0%,15% { opacity: 0; transform: scale(.94); } 25% { opacity: .45; } 78%,100% { opacity: 0; transform: scale(1.55); } }
@keyframes fingertip-breathe { 0%,100% { scale: 1; } 43% { scale: 1.035; } }
html[data-motion] .phone .waveform i { transform-origin: center; animation: voice-signal 1.1s ease-in-out infinite alternate; animation-play-state: paused; }
html[data-motion] .phone .waveform i:nth-child(2n) { animation-delay: -.45s; animation-duration: .8s; }
html[data-motion] .phone .waveform i:nth-child(3n) { animation-delay: -.8s; animation-duration: 1.3s; }
html[data-motion] .phone .waveform i:nth-child(5n) { animation-delay: -.2s; animation-duration: .95s; }
html[data-motion="running"] .phone.is-in-view .waveform i { animation-play-state: running; }
@keyframes voice-signal { 0% { transform: scaleY(.3); opacity: .6; } 45% { transform: scaleY(.72); opacity: .85; } 100% { transform: scaleY(1.15); opacity: 1; } }
.review-queue { height: 234px; overflow: hidden; margin-top: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.review-track { position: relative; }
.review-row { height: 78px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
.review-row>div { min-width: 0; }
.review-row strong { display: block; font-size: 12px; font-weight: 500; }
.review-row small { display: block; color: var(--muted); font-size: 9px; margin-top: 6px; }
.review-mark { width: 9px; height: 9px; border: 1px solid #a8bba4; border-radius: 50%; flex: none; transition: background .35s,border-color .35s; }
.review-state { margin-left: auto; font-size: 9px; color: #6c785f; text-align: right; max-width: 95px; line-height: 1.5; transition: color .3s; }
.review-row.is-reviewed .review-mark { background: #27865c; border-color: #27865c; }
.review-row.is-reviewed .review-state { color: #147348; }
.motion-toggle { min-height: 44px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.motion-toggle:hover { text-decoration: underline; text-underline-offset: 4px; }
@media(max-width:500px) { .review-row { gap: 8px; } .review-row strong { font-size: 11px; } .review-row small { font-size: 8px; } .review-state { font-size: 8px; max-width: 76px; } .motion-toggle { font-size: 11px; } }
@media(prefers-reduced-motion:reduce) { html[data-motion] .touch-ring,html[data-motion] .touch-disc,html[data-motion] .phone .waveform i { animation: none!important; } }

/* Priority is legible before review; completed tasks clear into a steady queue. */
.review-row { padding-inline: 12px; gap: 12px; transition: background-color .3s; }
.review-row[data-priority="critical"] { background: #f9e8e2; }
.review-row[data-priority="elevated"] { background: #f7f0df; }
.review-row strong { font-size: 13px; font-weight: 600; }
.review-row small { font-size: 10px; }
.review-mark { width: 7px; height: 28px; border: 0; border-radius: 4px; background: #9aa993; }
.review-row[data-priority="critical"] .review-mark { background: #b34c3f; }
.review-row[data-priority="elevated"] .review-mark { background: #b08534; }
.review-state { flex: none; max-width: 102px; padding: 6px 9px; border-radius: 6px; background: #e7ecdf; color: #506349; font-size: 10px; font-weight: 600; text-align: center; }
.review-row[data-priority="critical"] .review-state { background: #f1c9bf; color: #872d23; }
.review-row[data-priority="elevated"] .review-state { background: #eddfa9; color: #725117; }
.review-row.is-reviewed { background: #e4efdf; }
.review-row.is-reviewed .review-mark { background: #27865c; }
.review-row.is-reviewed .review-state { background: #cce5cc; color: #205c39; }
.hub-queue { height: 240px; overflow: hidden; border-block: 1px solid #dce4db; }
.hub-track { position: relative; }
.hub-queue .hub-row { height: 80px; padding: 12px 0; border-top: 0; border-bottom: 1px solid #dce4db; transition: background-color .3s; }
.hub-queue .hub-row>div { min-width: 0; }
.hub-queue .status-pill { max-width: 95px; white-space: normal; text-align: center; line-height: 1.4; transition: background-color .3s,color .3s; }
.hub-queue .hub-row.is-reviewed { background: #e7f0e2; }
.hub-queue .hub-row.is-reviewed .status-pill { background: #cce5cc; color: #205c39; }
.hub-queue .hub-row.is-reviewed .hub-avatar { background: #d4e5cc; }
.hub-content .hub-bottom { border-top: 0; }
@media(max-width:500px) {
  .review-row { padding-inline: 9px; gap: 9px; }
  .review-row strong { font-size: 12px; }
  .review-row small { font-size: 9px; }
  .review-state { font-size: 9px; max-width: 84px; padding: 6px 7px; }
  .hub-queue .status-pill { max-width: 69px; font-size: 8px; }
}

/* Feather the photographic touch into the teal field without a rectangular edge. */
html:not([data-hero="classic"]) .hero::before {
  mask-image: radial-gradient(ellipse 50% 56% at 50% 27%,#000 10%,#000b 38%,#0004 65%,transparent 91%);
  -webkit-mask-image: radial-gradient(ellipse 50% 56% at 50% 27%,#000 10%,#000b 38%,#0004 65%,transparent 91%);
  mask-composite: add;
  -webkit-mask-composite: source-over;
}
/* A quiet three-beat workflow: reception, connected practice, clinical review.
   Individual translate preserves each card's existing angle and layout. */
@media(prefers-reduced-motion:no-preference){
  html[data-motion] .hero-stage .journey-card{animation:hero-card-lift 9s ease-in-out infinite;animation-play-state:paused}
  html[data-motion] .hero-stage .practice-card{animation-delay:-2.4s}
  html[data-motion] .hero-stage .appointment-card{animation-delay:-4.8s}
  html[data-motion] .hero-stage .message{animation:hero-message-arrive 9s cubic-bezier(.22,1,.36,1) infinite;animation-play-state:paused}
  html[data-motion] .hero-stage .message.assistant{animation-delay:.55s}
  .hero-stage .voice-mark{position:relative}
  html[data-motion] .hero-stage .voice-mark::after{content:'';position:absolute;inset:-7px;border:1px solid #2c87694d;border-radius:50%;animation:hero-connection 4.5s ease-out infinite;animation-play-state:paused;pointer-events:none}
  .hero-stage .appointment-detail{position:relative;overflow:hidden}
  html[data-motion] .hero-stage .appointment-detail::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffff90 50%,transparent 70%);translate:-110% 0;animation:hero-review-scan 9s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
  html[data-motion] .hero-stage .confirmed{animation:hero-review-highlight 9s ease-in-out infinite;animation-play-state:paused}
  html[data-motion="running"] .hero-stage.is-in-view .journey-card,
  html[data-motion="running"] .hero-stage.is-in-view .message,
  html[data-motion="running"] .hero-stage.is-in-view .voice-mark::after,
  html[data-motion="running"] .hero-stage.is-in-view .appointment-detail::after,
  html[data-motion="running"] .hero-stage.is-in-view .confirmed{animation-play-state:running}
}
@keyframes hero-card-lift{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes hero-message-arrive{0%{opacity:.65;translate:0 5px}14%,86%{opacity:1;translate:0 0}100%{opacity:.65;translate:0 5px}}
@keyframes hero-connection{0%{scale:.88;opacity:0}20%{opacity:.8}85%,100%{scale:1.35;opacity:0}}
@keyframes hero-review-scan{0%,32%{translate:-110% 0}52%,100%{translate:110% 0}}
@keyframes hero-review-highlight{0%,40%,80%,100%{background:#dcecd8}52%,66%{background:#c2dfc5}}

/* Quiet footer utilities, with the motion preference alongside the legal line. */
.footer-bottom{align-items:flex-start;flex-wrap:wrap}
.footer-bottom .footer-utilities{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1 1 280px}
.footer-bottom>div:not(.footer-utilities){align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 20px}
.footer-bottom .motion-toggle{font-size:10px;min-height:32px;line-height:1;padding:6px 0;color:#a9c2b8}
.footer-bottom .motion-toggle::before{content:'';display:inline-block;width:7px;height:8px;border-left:2px solid currentColor;border-right:2px solid currentColor;margin-right:7px;vertical-align:baseline}
.footer-bottom .motion-toggle[aria-pressed=true]::before{border-right:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid currentColor;width:0;height:0}
.experience-section{background:#f3f3eb}
.experience-preview{background:#fff;border:1px solid #dce3d7;border-radius:20px;padding:40px;color:#193c3b}
.sentiment-path{display:flex;align-items:center;gap:16px;margin:32px 0;font-size:14px}
.sentiment-path>span:first-child{color:#88704d}
.sentiment-line{height:1px;flex:1;background:linear-gradient(90deg,#c7b89a,#649780)}
.sentiment-path strong{font-weight:500;color:#39775c}
.experience-preview blockquote{font:400 27px/1.35 'Fraunces',serif;letter-spacing:-.025em;margin:0 0 32px}
.experience-detail{padding:16px 0;border-top:1px solid #e6e9e2;display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5}
.experience-detail>span{color:#66786c}.experience-detail strong{font-weight:500;text-align:right}
.experience-note{font-size:10px;line-height:1.6;color:#66786c;margin:16px 0 0}
@media(max-width:600px){.footer-bottom .footer-utilities{flex-basis:auto}.footer-bottom>div:not(.footer-utilities){justify-content:flex-start}.footer-bottom .motion-toggle{min-height:44px}.experience-preview{padding:24px}.experience-preview blockquote{font-size:25px}.experience-detail{flex-direction:column;gap:6px}.experience-detail strong{text-align:left}}

/* Two coordinated teams: spoken work under Sala, written work under Mati. */
.employee-section{background:#edf1e8}
.employee-teams{display:grid;grid-template-columns:3fr 2fr;gap:22px;margin-top:48px}
.employee-team{min-width:0;border:1px solid #cfdbce;border-radius:18px;padding:28px;background:#f9faf5}
.employee-team-sala{background:#193c3b;border-color:#193c3b;color:#faf7f1}
.employee-team-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:26px;border-bottom:1px solid #cfdacf}
.employee-team-heading p{font:10px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.14em;color:#527665;margin:0 0 10px}
.employee-team-heading h3{font:400 40px/1.1 'Fraunces',serif;letter-spacing:-.035em;margin:0}
.employee-team-heading>span{font-size:11px;color:#60716a}
.employee-team-sala .employee-team-heading{border-color:#ffffff25}
.employee-team-sala .employee-team-heading :is(p,span){color:#b8d7c8}
.employee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:30px}
.employee-team-mati .employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.employee-grid h4{font:500 28px/1.2 'Instrument Sans',sans-serif;letter-spacing:-.045em;margin:0 0 8px}
.employee-grid .employee-role{font-size:11px;color:#47735c;margin:0 0 22px}
.employee-grid article>p:last-child{font-size:13px;line-height:1.7;color:#60716a;margin:0}
.employee-team-sala .employee-role{color:#a6d1b9}
.employee-team-sala article>p:last-child{color:#c2d9cc}
.employee-footnote{font-size:12px;line-height:1.6;color:#60716a;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.workflow-instruction{font-size:12px;color:#527665;margin:0 0 16px}
.workflow-step{border:1px solid #d2ddcf;border-radius:12px;margin-bottom:12px;background:#fff;padding:22px;transition:background .2s,border-color .2s,box-shadow .2s}
.workflow-step>span:first-child{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;border:1px solid #cbd9ce;border-radius:50%}
.workflow-step small{color:#47735c;text-decoration:underline;text-underline-offset:4px}
.workflow-step:hover,.workflow-step:focus-visible{background:#edf3e9;border-color:#699580}
.workflow-step.is-active{border-color:#39775c;background:#e4eee1;box-shadow:inset 3px 0 #39775c}
.workflow-step.is-active>span:first-child{background:#193c3b;color:#fff;border-color:#193c3b}
.specialty h3{font-family:'Instrument Sans',sans-serif;font-size:clamp(28px,2.7vw,40px);letter-spacing:-.04em}
.specialty{border:1px solid #ccd8cb;transition:background .25s,border-color .25s,transform .25s}
.specialty:hover,.specialty:focus-visible{background:#e3ecdf;border-color:#477a61;transform:translateY(-4px)}
.specialty-bottom{align-self:flex-start;display:inline-flex;border:1px solid #bacbbc;padding:10px 12px;border-radius:7px;font-size:11px;min-height:42px;text-decoration:none}
.specialty:hover .specialty-bottom,.specialty:focus-visible .specialty-bottom{background:#193c3b;border-color:#193c3b;color:#faf7f1}
@media(max-width:1000px){.employee-teams{grid-template-columns:1fr}.employee-grid article>p:last-child{max-width:29ch}.employee-team-mati .employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.employee-teams{margin-top:30px;gap:16px}.employee-team{padding:24px}.employee-team-heading{padding-bottom:22px}.employee-team-heading h3{font-size:34px}.employee-grid,.employee-team-mati .employee-grid{grid-template-columns:1fr;gap:0;padding-top:0}.employee-grid article{display:grid;grid-template-columns:105px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid #cfdbce}.employee-team-sala article{border-color:#ffffff20}.employee-grid article:last-child{border-bottom:0;padding-bottom:0}.employee-grid h4{font-size:26px}.employee-grid .employee-role{margin-bottom:0}.employee-grid article>p:last-child{font-size:13px}.workflow-step{padding:18px 14px}.workflow-step>span:first-child{width:28px;height:28px}.specialty h3{font-size:28px}.specialty-bottom{padding:9px 8px;font-size:10px}.specialty{min-height:285px}}
@media(prefers-reduced-motion:reduce){.specialty:hover,.specialty:focus-visible{transform:none}.specialty,.workflow-step{transition:none}}
.workflow-step>span:last-child{margin-left:0;flex:1}
@media(max-width:380px){.specialty-grid{grid-template-columns:1fr}.specialty{min-height:240px;padding:24px}.specialty h3{font-size:32px;margin-top:20px}.specialty p{font-size:13px}.specialty-bottom{font-size:11px;margin-top:24px}}
/* A single directional cue makes each specialty tile's destination clear. */
.specialty-bottom{border:0;border-radius:0;padding:0;width:44px;min-height:44px;align-items:center;justify-content:flex-start;color:#193c3b}
.specialty-bottom svg{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.specialty:hover .specialty-bottom,.specialty:focus-visible .specialty-bottom{background:transparent;border-color:transparent;color:#193c3b}
.specialty:hover .specialty-bottom svg,.specialty:focus-visible .specialty-bottom svg{transform:translateX(6px)}
@media(prefers-reduced-motion:reduce){.specialty-bottom svg{transition:none}.specialty:hover .specialty-bottom svg,.specialty:focus-visible .specialty-bottom svg{transform:none}}
.specialty-bottom .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.specialty-bottom svg{flex-shrink:0}
